diff --git a/includes/database/database.inc b/includes/database/database.inc index d30fab1bcb2..016b90ba47a 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -201,16 +201,6 @@ abstract class DatabaseConnection extends PDO { */ protected $logger = NULL; - /** - * Cache of prepared statements. - * - * This cache only lasts as long as the current page request, so it's not - * as useful as it could be, but every little bit helps. - * - * @var Array - */ - protected $preparedStatements = array(); - /** * Track the number of "layers" of transactions currently active. * @@ -446,26 +436,14 @@ abstract class DatabaseConnection extends PDO { * @param $query * The query string as SQL, with curly-braces surrounding the * table names. - * @param $cache - * Whether or not to cache the prepared statement for later reuse in this - * same request. Usually we want to, but queries that require preprocessing - * cannot be safely cached. * @return DatabaseStatementInterface * A PDO prepared statement ready for its execute() method. */ - public function prepareQuery($query, $cache = TRUE) { + public function prepareQuery($query) { $query = $this->prefixTables($query); - if (isset($this->preparedStatements[$query])) { - $stmt = $this->preparedStatements[$query]; - } - else { - // Call PDO::prepare. - $stmt = parent::prepare($query); - if ($cache) { - $this->preparedStatements[$query] = $stmt; - } - } - return $stmt; + + // Call PDO::prepare. + return parent::prepare($query); } /** @@ -581,8 +559,8 @@ abstract class DatabaseConnection extends PDO { $stmt->execute(NULL, $options); } else { - $modified = $this->expandArguments($query, $args); - $stmt = $this->prepareQuery($query, !$modified); + $this->expandArguments($query, $args); + $stmt = $this->prepareQuery($query); $stmt->execute($args, $options); } diff --git a/includes/database/pgsql/database.inc b/includes/database/pgsql/database.inc index a42e377cbaf..841be229617 100644 --- a/includes/database/pgsql/database.inc +++ b/includes/database/pgsql/database.inc @@ -69,8 +69,8 @@ class DatabaseConnection_pgsql extends DatabaseConnection { $stmt->execute(NULL, $options); } else { - $modified = $this->expandArguments($query, $args); - $stmt = $this->prepareQuery($query, !$modified); + $this->expandArguments($query, $args); + $stmt = $this->prepareQuery($query); $stmt->execute($args, $options); } diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index f175732f71f..17d9034a952 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -161,10 +161,7 @@ class DatabaseConnection_sqlite extends DatabaseConnection { return isset($specials[$operator]) ? $specials[$operator] : NULL; } - public function prepareQuery($query, $cache = TRUE) { - // It makes no sense to use the static prepared statement cache here, - // because all the work in our implementation is done in - // DatabaseStatement_sqlite::execute() and cannot be cached. + public function prepareQuery($query) { return $this->prepare($this->prefixTables($query)); }