Merge pull request #10745 from owncloud/fix-10708-doctrine
Use Doctrine Platform to generate SQL query for table truncation.
This commit is contained in:
commit
45b17207cc
|
@ -159,14 +159,9 @@ class Helper {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$dbtype = \OCP\Config::getSystemValue('dbtype');
|
$connection = \OC_DB::getConnection();
|
||||||
if(strpos($dbtype, 'sqlite') !== false || $dbtype === 'oci') {
|
$sql = $connection->getDatabasePlatform()->getTruncateTableSQL($table);
|
||||||
$query = \OCP\DB::prepare('DELETE FROM '.$table);
|
$query = \OCP\DB::prepare($sql);
|
||||||
} else {
|
|
||||||
$query = \OCP\DB::prepare('TRUNCATE '.$table);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$res = $query->execute();
|
$res = $query->execute();
|
||||||
|
|
||||||
if(\OCP\DB::isError($res)) {
|
if(\OCP\DB::isError($res)) {
|
||||||
|
@ -177,7 +172,7 @@ class Helper {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* extractsthe domain from a given URL
|
* extracts the domain from a given URL
|
||||||
* @param string $url the URL
|
* @param string $url the URL
|
||||||
* @return string|false domain as string on success, false otherwise
|
* @return string|false domain as string on success, false otherwise
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* ownCloud
|
||||||
|
*
|
||||||
|
* @author Thomas Müller
|
||||||
|
* @copyright 2014 Thomas Müller deepdiver@owncloud.com
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OCA\user_ldap\tests;
|
||||||
|
|
||||||
|
use OCA\user_ldap\lib\Helper;
|
||||||
|
|
||||||
|
class Test_Helper extends \PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
|
public function testTableTruncate() {
|
||||||
|
|
||||||
|
$statement = \OCP\DB::prepare('INSERT INTO `*PREFIX*ldap_user_mapping` (`ldap_dn`, `owncloud_name`, `directory_uuid`) VALUES (?, ?, ?)');
|
||||||
|
$statement->execute(array('db01', 'oc1', '000-0000-0000'));
|
||||||
|
$statement->execute(array('db02', 'oc2', '000-0000-0001'));
|
||||||
|
|
||||||
|
$statement = \OCP\DB::prepare('SELECT count(*) FROM `*PREFIX*ldap_user_mapping`');
|
||||||
|
$result = $statement->execute();
|
||||||
|
$this->assertEquals(2, $result->fetchOne());
|
||||||
|
|
||||||
|
Helper::clearMapping('user');
|
||||||
|
|
||||||
|
$result = $statement->execute();
|
||||||
|
$this->assertEquals(0, $result->fetchOne());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue