diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-07-14 20:25:10 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-07-14 20:25:10 +0000 |
commit | 1798cf27abe827385ee0cb76ae55304ee1ad4a13 (patch) | |
tree | 988f3d9b8c32322402f85765bc2b1304657cea2b /includes/database/sqlite/database.inc | |
parent | 02a4755049313aa3eb66d97fbef10362aaffa1bc (diff) | |
download | brdo-1798cf27abe827385ee0cb76ae55304ee1ad4a13.tar.gz brdo-1798cf27abe827385ee0cb76ae55304ee1ad4a13.tar.bz2 |
- Patch #851698 by Damien Tournoud: DatabaseSchema_sqlite() severely broken.
Diffstat (limited to 'includes/database/sqlite/database.inc')
-rw-r--r-- | includes/database/sqlite/database.inc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index c8750e58e..2998353f6 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -165,8 +165,12 @@ class DatabaseConnection_sqlite extends DatabaseConnection { } public function queryTemporary($query, array $args = array(), array $options = array()) { + // Generate a new temporary table name and protect it from prefixing. + // SQLite requires that temporary tables to be non-qualified. $tablename = $this->generateTemporaryTableName(); - $this->query(preg_replace('/^SELECT/i', 'CREATE TEMPORARY TABLE {' . $tablename . '} AS SELECT', $query), $args, $options); + $this->prefixes[$tablename] = ''; + + $this->query(preg_replace('/^SELECT/i', 'CREATE TEMPORARY TABLE ' . $tablename . ' AS SELECT', $query), $args, $options); return $tablename; } |