diff options
Diffstat (limited to 'includes/database')
-rw-r--r-- | includes/database/mysql/schema.inc | 3 | ||||
-rw-r--r-- | includes/database/pgsql/database.inc | 9 | ||||
-rw-r--r-- | includes/database/sqlite/database.inc | 1 |
3 files changed, 8 insertions, 5 deletions
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc index abdbd0c59..b64e6040f 100644 --- a/includes/database/mysql/schema.inc +++ b/includes/database/mysql/schema.inc @@ -60,8 +60,7 @@ class DatabaseSchema_mysql extends DatabaseSchema { */ protected function createTableSql($name, $table) { if (empty($table['mysql_suffix'])) { - // Store strings as UTF-8 and do case-sensitive comparision. - $table['mysql_suffix'] = 'DEFAULT CHARACTER SET UTF8 COLLATE utf8_bin'; + $table['mysql_suffix'] = 'DEFAULT CHARACTER SET UTF8'; } $sql = "CREATE TABLE {" . $name . "} (\n"; diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc index f329e2c23..c9dd63a06 100644 --- a/includes/database/pgsql/database.inc +++ b/includes/database/pgsql/database.inc @@ -97,8 +97,13 @@ class DatabaseConnection_pgsql extends DatabaseConnection { } public function mapConditionOperator($operator) { - // We don't want to override any of the defaults. - return NULL; + static $specials = array( + // In PostgreSQL, 'LIKE' is case-sensitive. For case-insensitive LIKE + // statements, we need to use ILIKE instead. + 'LIKE' => array('operator' => 'ILIKE'), + ); + + return isset($specials[$operator]) ? $specials[$operator] : NULL; } /** diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index e23bab852..e872f5c3c 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -31,7 +31,6 @@ class DatabaseConnection_sqlite extends DatabaseConnection { )); $this->exec('PRAGMA encoding="UTF-8"'); - $this->exec('PRAGMA case_sensitive_like=1'); // Create functions needed by SQLite. $this->sqliteCreateFunction('if', array($this, 'sqlFunctionIf')); |