user workarount to compare CLOB column with CHAR value
This commit is contained in:
parent
0f794b6889
commit
21832bc890
|
@ -48,18 +48,25 @@ class Helper {
|
||||||
static public function getServerConfigurationPrefixes($activeConfigurations = false) {
|
static public function getServerConfigurationPrefixes($activeConfigurations = false) {
|
||||||
$referenceConfigkey = 'ldap_configuration_active';
|
$referenceConfigkey = 'ldap_configuration_active';
|
||||||
|
|
||||||
$query = '
|
$sql = '
|
||||||
SELECT DISTINCT `configkey`
|
SELECT DISTINCT `configkey`
|
||||||
FROM `*PREFIX*appconfig`
|
FROM `*PREFIX*appconfig`
|
||||||
WHERE `appid` = \'user_ldap\'
|
WHERE `appid` = \'user_ldap\'
|
||||||
AND `configkey` LIKE ?
|
AND `configkey` LIKE ?
|
||||||
';
|
';
|
||||||
if($activeConfigurations) {
|
|
||||||
$query .= ' AND `configvalue` = \'1\'';
|
|
||||||
}
|
|
||||||
$query = \OCP\DB::prepare($query);
|
|
||||||
|
|
||||||
$serverConfigs = $query->execute(array('%'.$referenceConfigkey))->fetchAll();
|
if($activeConfigurations) {
|
||||||
|
if (\OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') {
|
||||||
|
//FIXME oracle hack: need to explicitly cast CLOB to CHAR for comparison
|
||||||
|
$sql .= ' AND to_char(`configvalue`)=\'1\'';
|
||||||
|
} else {
|
||||||
|
$sql .= ' AND `configvalue` = \'1\'';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$stmt = \OCP\DB::prepare($sql);
|
||||||
|
|
||||||
|
$serverConfigs = $stmt->execute(array('%'.$referenceConfigkey))->fetchAll();
|
||||||
$prefixes = array();
|
$prefixes = array();
|
||||||
|
|
||||||
foreach($serverConfigs as $serverConfig) {
|
foreach($serverConfigs as $serverConfig) {
|
||||||
|
|
Loading…
Reference in New Issue