Browse Source

Merge pull request #1546 from rchavik/2.3-sqlite-truncate

Sqlite::truncate(): Verify `sqlite_sequence` exists before _execute()
José Lorenzo Rodríguez 12 years ago
parent
commit
6c2eb6e7c6
1 changed files with 3 additions and 1 deletions
  1. 3 1
      lib/Cake/Model/Datasource/Database/Sqlite.php

+ 3 - 1
lib/Cake/Model/Datasource/Database/Sqlite.php

@@ -230,7 +230,9 @@ class Sqlite extends DboSource {
  * @return boolean SQL TRUNCATE TABLE statement, false if not applicable.
  */
 	public function truncate($table) {
-		$this->_execute('DELETE FROM sqlite_sequence where name=' . $this->startQuote . $this->fullTableName($table, false, false) . $this->endQuote);
+		if (in_array('sqlite_sequence', $this->listSources())) {
+			$this->_execute('DELETE FROM sqlite_sequence where name=' . $this->startQuote . $this->fullTableName($table, false, false) . $this->endQuote);
+		}
 		return $this->execute('DELETE FROM ' . $this->fullTableName($table));
 	}