You are here

class DeleteQuery_sqlite in Drupal 7

SQLite specific implementation of DeleteQuery.

Hierarchy

Expanded class hierarchy of DeleteQuery_sqlite

Related topics

File

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

View source
class DeleteQuery_sqlite extends DeleteQuery {
  public function execute() {

    // 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. But we want to return
    // the number of rows affected, so we calculate it directly.
    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();
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
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. 1
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.