diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-08-17 06:52:02 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-08-17 06:52:02 +0000 |
commit | 55d9463766e08ebaf9aa08955a418e18fd889353 (patch) | |
tree | 37c9b5933d3e58daefaa3f90ec90a013b3922433 /includes | |
parent | 9b4013fd82fa117215a928671ab9a72f4972fc59 (diff) | |
download | brdo-55d9463766e08ebaf9aa08955a418e18fd889353.tar.gz brdo-55d9463766e08ebaf9aa08955a418e18fd889353.tar.bz2 |
- Patch #370240 by Josh Waihi, stuzza, mfb, Arancaytar: PDO should quote index names in table declarations.
Diffstat (limited to 'includes')
-rw-r--r-- | includes/database/mysql/schema.inc | 26 | ||||
-rw-r--r-- | includes/database/pgsql/schema.inc | 14 | ||||
-rw-r--r-- | includes/database/sqlite/schema.inc | 4 |
3 files changed, 22 insertions, 22 deletions
diff --git a/includes/database/mysql/schema.inc b/includes/database/mysql/schema.inc index 6be46be92..16f3fd5a8 100644 --- a/includes/database/mysql/schema.inc +++ b/includes/database/mysql/schema.inc @@ -226,12 +226,12 @@ class DatabaseSchema_mysql extends DatabaseSchema { } if (!empty($spec['unique keys'])) { foreach ($spec['unique keys'] as $key => $fields) { - $keys[] = 'UNIQUE KEY ' . $key . ' (' . $this->createKeysSqlHelper($fields) . ')'; + $keys[] = 'UNIQUE KEY `' . $key . '` (' . $this->createKeysSqlHelper($fields) . ')'; } } if (!empty($spec['indexes'])) { foreach ($spec['indexes'] as $index => $fields) { - $keys[] = 'INDEX ' . $index . ' (' . $this->createKeysSqlHelper($fields) . ')'; + $keys[] = 'INDEX `' . $index . '` (' . $this->createKeysSqlHelper($fields) . ')'; } } @@ -242,10 +242,10 @@ class DatabaseSchema_mysql extends DatabaseSchema { $ret = array(); foreach ($fields as $field) { if (is_array($field)) { - $ret[] = $field[0] . '(' . $field[1] . ')'; + $ret[] = '`' . $field[0] . '`(' . $field[1] . ')'; } else { - $ret[] = $field; + $ret[] = '`' . $field . '`'; } } return implode(', ', $ret); @@ -255,10 +255,10 @@ class DatabaseSchema_mysql extends DatabaseSchema { $ret = array(); foreach ($fields as $field) { if (is_array($field)) { - $ret[] = $field[0] . '(' . $field[1] . ')'; + $ret[] = '`' . $field[0] . '`(' . $field[1] . ')'; } else { - $ret[] = $field; + $ret[] = '`' . $field . '`'; } } return implode(', ', $ret); @@ -297,7 +297,7 @@ class DatabaseSchema_mysql extends DatabaseSchema { } public function dropField(&$ret, $table, $field) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP ' . $field); + $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP `' . $field . '`'); } public function fieldSetDefault(&$ret, $table, $field, $default) { @@ -308,11 +308,11 @@ class DatabaseSchema_mysql extends DatabaseSchema { $default = is_string($default) ? "'$default'" : $default; } - $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN ' . $field . ' SET DEFAULT ' . $default); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN `' . $field . '` SET DEFAULT ' . $default); } public function fieldSetNoDefault(&$ret, $table, $field) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN ' . $field . ' DROP DEFAULT'); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN `' . $field . '` DROP DEFAULT'); } public function addPrimaryKey(&$ret, $table, $fields) { @@ -324,20 +324,20 @@ class DatabaseSchema_mysql extends DatabaseSchema { } public function addUniqueKey(&$ret, $table, $name, $fields) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} ADD UNIQUE KEY ' . $name . ' (' . $this->createKeySql($fields) . ')'); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ADD UNIQUE KEY `' . $name . '` (' . $this->createKeySql($fields) . ')'); } public function dropUniqueKey(&$ret, $table, $name) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP KEY ' . $name); + $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP KEY `' . $name . '`'); } public function addIndex(&$ret, $table, $name, $fields) { - $query = 'ALTER TABLE {' . $table . '} ADD INDEX ' . $name . ' (' . $this->createKeySql($fields) . ')'; + $query = 'ALTER TABLE {' . $table . '} ADD INDEX `' . $name . '` (' . $this->createKeySql($fields) . ')'; $ret[] = update_sql($query); } public function dropIndex(&$ret, $table, $name) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP INDEX ' . $name); + $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP INDEX `' . $name . '`'); } public function changeField(&$ret, $table, $field, $field_new, $spec, $keys_new = array()) { diff --git a/includes/database/pgsql/schema.inc b/includes/database/pgsql/schema.inc index 2d282b50b..61080c0ad 100644 --- a/includes/database/pgsql/schema.inc +++ b/includes/database/pgsql/schema.inc @@ -260,7 +260,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { $ret[] = 'substr(' . $field[0] . ', 1, ' . $field[1] . ')'; } else { - $ret[] = $field; + $ret[] = '"' . $field . '"'; } } return implode(', ', $ret); @@ -355,7 +355,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { * The field to be dropped. */ public function dropField(&$ret, $table, $field) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP COLUMN ' . $field); + $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP COLUMN "' . $field . '"'); } /** @@ -378,7 +378,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { $default = is_string($default) ? "'$default'" : $default; } - $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN ' . $field . ' SET DEFAULT ' . $default); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN "' . $field . '" SET DEFAULT ' . $default); } /** @@ -392,7 +392,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { * The field to be altered. */ public function fieldSetNoDefault(&$ret, $table, $field) { - $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN ' . $field . ' DROP DEFAULT'); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ALTER COLUMN "' . $field . '" DROP DEFAULT'); } /** @@ -435,7 +435,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { */ function addUniqueKey(&$ret, $table, $name, $fields) { $name = '{' . $table . '}_' . $name . '_key'; - $ret[] = update_sql('ALTER TABLE {' . $table . '} ADD CONSTRAINT ' . $name . ' UNIQUE (' . implode(',', $fields) . ')'); + $ret[] = update_sql('ALTER TABLE {' . $table . '} ADD CONSTRAINT "' . $name . '" UNIQUE (' . implode(',', $fields) . ')'); } /** @@ -450,7 +450,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { */ public function dropUniqueKey(&$ret, $table, $name) { $name = '{' . $table . '}_' . $name . '_key'; - $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP CONSTRAINT ' . $name); + $ret[] = update_sql('ALTER TABLE {' . $table . '} DROP CONSTRAINT "' . $name . '"'); } /** @@ -578,7 +578,7 @@ class DatabaseSchema_pgsql extends DatabaseSchema { } protected function _createIndexSql($table, $name, $fields) { - $query = 'CREATE INDEX {' . $table . '}_' . $name . '_idx ON {' . $table . '} ('; + $query = 'CREATE INDEX "{' . $table . '}_' . $name . '_idx" ON {' . $table . '} ('; $query .= $this->_createKeySql($fields) . ')'; return $query; } diff --git a/includes/database/sqlite/schema.inc b/includes/database/sqlite/schema.inc index 1d0672c16..d32ef9879 100644 --- a/includes/database/sqlite/schema.inc +++ b/includes/database/sqlite/schema.inc @@ -47,12 +47,12 @@ class DatabaseSchema_sqlite extends DatabaseSchema { $sql = array(); if (!empty($schema['unique keys'])) { foreach ($schema['unique keys'] as $key => $fields) { - $sql[] = 'CREATE UNIQUE INDEX {' . $tablename . '}_' . $key . ' ON {' . $tablename . '} (' . $this->createKeySql($fields) . "); \n"; + $sql[] = 'CREATE UNIQUE INDEX "{' . $tablename . '}_' . $key . '" ON {' . $tablename . '} (' . $this->createKeySql($fields) . "); \n"; } } if (!empty($schema['indexes'])) { foreach ($schema['indexes'] as $index => $fields) { - $sql[] = 'CREATE INDEX {' . $tablename . '}_' . $index . ' ON {' . $tablename . '} (' . $this->createKeySql($fields) . "); \n"; + $sql[] = 'CREATE INDEX "{' . $tablename . '}_' . $index . '" ON {' . $tablename . '} (' . $this->createKeySql($fields) . "); \n"; } } return $sql; |