/**
  * Loads info for content identified by $contentId.
  * Will basically return a hash containing all field values for ezcontentobject table plus some additional keys:
  *  - always_available => Boolean indicating if content's language mask contains alwaysAvailable bit field
  *  - main_language_code => Language code for main (initial) language. E.g. "eng-GB"
  *
  * @param int $contentId
  *
  * @throws \eZ\Publish\Core\Base\Exceptions\NotFoundException
  *
  * @return array
  */
 public function loadContentInfo($contentId)
 {
     /** @var $query \ezcQuerySelect */
     $query = $this->dbHandler->createSelectQuery();
     $query->select("ezcontentobject.*", $this->dbHandler->aliasedColumn($query, 'main_node_id', 'ezcontentobject_tree'))->from($this->dbHandler->quoteTable("ezcontentobject"))->leftJoin($this->dbHandler->quoteTable("ezcontentobject_tree"), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn("contentobject_id", "ezcontentobject_tree"), $this->dbHandler->quoteColumn("id", "ezcontentobject")), $query->expr->eq($this->dbHandler->quoteColumn("main_node_id", "ezcontentobject_tree"), $this->dbHandler->quoteColumn("node_id", "ezcontentobject_tree"))))->where($query->expr->eq($this->dbHandler->quoteColumn("id"), $query->bindValue($contentId, null, \PDO::PARAM_INT)));
     $statement = $query->prepare();
     $statement->execute();
     $row = $statement->fetch(\PDO::FETCH_ASSOC);
     if (empty($row)) {
         throw new NotFound("content", $contentId);
     }
     return $row;
 }
 /**
  * Creates a select query for content version objects
  *
  * Creates a select query with all necessary joins to fetch a complete
  * content object. Does not apply any WHERE conditions.
  *
  * @return \ezcQuerySelect
  */
 public function createVersionInfoFindQuery()
 {
     /** @var $query \ezcQuerySelect */
     $query = $this->dbHandler->createSelectQuery();
     $query->select($this->dbHandler->aliasedColumn($query, 'id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'version', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'modified', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'creator_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'created', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'status', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'contentobject_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'initial_language_id', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'language_mask', 'ezcontentobject_version'), $this->dbHandler->aliasedColumn($query, 'main_node_id', 'ezcontentobject_tree'), $this->dbHandler->aliasedColumn($query, 'id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'contentclass_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'section_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'owner_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'remote_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'current_version', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'initial_language_id', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'modified', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'published', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'status', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'name', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'language_mask', 'ezcontentobject'), $this->dbHandler->aliasedColumn($query, 'name', 'ezcontentobject_name'), $this->dbHandler->aliasedColumn($query, 'content_translation', 'ezcontentobject_name'))->from($this->dbHandler->quoteTable('ezcontentobject_version'))->leftJoin($this->dbHandler->quoteTable('ezcontentobject'), $query->expr->eq($this->dbHandler->quoteColumn('id', 'ezcontentobject'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')))->leftJoin($this->dbHandler->quoteTable('ezcontentobject_tree'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('contentobject_version', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('version', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('main_node_id', 'ezcontentobject_tree'), $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree'))))->leftJoin($this->dbHandler->quoteTable('ezcontentobject_name'), $query->expr->lAnd($query->expr->eq($this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_name'), $this->dbHandler->quoteColumn('contentobject_id', 'ezcontentobject_version')), $query->expr->eq($this->dbHandler->quoteColumn('content_version', 'ezcontentobject_name'), $this->dbHandler->quoteColumn('version', 'ezcontentobject_version'))));
     return $query;
 }