summaryrefslogtreecommitdiff
path: root/includes/database/sqlite/database.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-07-14 20:25:10 +0000
committerDries Buytaert <dries@buytaert.net>2010-07-14 20:25:10 +0000
commit1798cf27abe827385ee0cb76ae55304ee1ad4a13 (patch)
tree988f3d9b8c32322402f85765bc2b1304657cea2b /includes/database/sqlite/database.inc
parent02a4755049313aa3eb66d97fbef10362aaffa1bc (diff)
downloadbrdo-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.inc6
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;
}