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, 5 insertions, 8 deletions
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc index 1a1508b8b..203d8589d 100644 --- a/includes/database/mysql/schema.inc +++ b/includes/database/mysql/schema.inc @@ -60,7 +60,8 @@ class DatabaseSchema_mysql extends DatabaseSchema { */ protected function createTableSql($name, $table) { if (empty($table['mysql_suffix'])) { - $table['mysql_suffix'] = 'DEFAULT CHARACTER SET UTF8'; + // Store strings as UTF-8 and do case-sensitive comparision. + $table['mysql_suffix'] = 'DEFAULT CHARACTER SET UTF8 COLLATE utf8_bin'; } $sql = "CREATE TABLE {" . $name . "} (\n"; diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc index c9dd63a06..f329e2c23 100644 --- a/includes/database/pgsql/database.inc +++ b/includes/database/pgsql/database.inc @@ -97,13 +97,8 @@ class DatabaseConnection_pgsql extends DatabaseConnection { } public function mapConditionOperator($operator) { - 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; + // We don't want to override any of the defaults. + return NULL; } /** diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index e872f5c3c..e23bab852 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -31,6 +31,7 @@ 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')); |