class DeleteQuery_sqlite

SQLite specific implementation of DeleteQuery.

When the WHERE is omitted from a DELETE statement and the table being deleted has no triggers, SQLite uses an optimization to erase the entire table content without having to visit each row of the table individually.

Prior to SQLite 3.6.5, SQLite does not return the actual number of rows deleted by that optimized "truncate" optimization.

Hierarchy

Expanded class hierarchy of DeleteQuery_sqlite

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
DeleteQuery::$condition protected property The condition object for this query.
DeleteQuery::$table protected property The table from which to delete.
DeleteQuery::arguments public function Implements QueryConditionInterface::arguments(). Overrides QueryConditionInterface::arguments
DeleteQuery::compile public function Implements QueryConditionInterface::compile(). Overrides QueryConditionInterface::compile
DeleteQuery::compiled public function Implements QueryConditionInterface::compiled(). Overrides QueryConditionInterface::compiled
DeleteQuery::condition public function Implements QueryConditionInterface::condition(). Overrides QueryConditionInterface::condition
DeleteQuery::conditions public function Implements QueryConditionInterface::conditions(). Overrides QueryConditionInterface::conditions
DeleteQuery::exists public function Implements QueryConditionInterface::exists(). Overrides QueryConditionInterface::exists
DeleteQuery::isNotNull public function Implements QueryConditionInterface::isNotNull(). Overrides QueryConditionInterface::isNotNull
DeleteQuery::isNull public function Implements QueryConditionInterface::isNull(). Overrides QueryConditionInterface::isNull
DeleteQuery::notExists public function Implements QueryConditionInterface::notExists(). Overrides QueryConditionInterface::notExists
DeleteQuery::where public function Implements QueryConditionInterface::where(). Overrides QueryConditionInterface::where
DeleteQuery::__construct public function Constructs a DeleteQuery object. Overrides Query::__construct
DeleteQuery::__toString public function Implements PHP magic __toString method to convert the query to a string. Overrides Query::__toString
DeleteQuery_sqlite::execute public function Executes the DELETE query. Overrides DeleteQuery::execute
Query::$comments protected property An array of comments that can be prepended to a query.
Query::$connection protected property The connection object on which to run this query.
Query::$connectionKey protected property The key of the connection object.
Query::$connectionTarget protected property The target of the connection object.
Query::$nextPlaceholder protected property The placeholder counter.
Query::$queryOptions protected property The query options to pass on to the connection object.
Query::$uniqueIdentifier protected property A unique identifier for this query object.
Query::comment public function Adds a comment to the query.
Query::getComments public function Returns a reference to the comments array for the query.
Query::nextPlaceholder public function Gets the next placeholder value for this query object. Overrides QueryPlaceholderInterface::nextPlaceholder
Query::uniqueIdentifier public function Returns a unique identifier for this object. Overrides QueryPlaceholderInterface::uniqueIdentifier
Query::__clone public function Implements the magic __clone function.
Query::__sleep public function Implements the magic __sleep function to disconnect from the database.
Query::__wakeup public function Implements the magic __wakeup function to reconnect to the database.

File

drupal/includes/database/sqlite/query.inc, line 110
Query code for SQLite embedded database engine.

View source
class DeleteQuery_sqlite extends DeleteQuery {
  public function execute() {
    if (!count($this->condition)) {
      $total_rows = $this->connection->query('SELECT COUNT(*) FROM {' . $this->connection->escapeTable($this->table) . '}')->fetchField();
      parent::execute();
      return $total_rows;
    }
    else {
      return parent::execute();
    }
  }
}

Related topics