Exemplo n.º 1
0
 /**
  * UpdateStatement ::= UpdateClause [WhereClause]
  */
 public function _UpdateStatement()
 {
     $updateStatement = new AST\UpdateStatement($this->_UpdateClause());
     $updateStatement->setWhereClause($this->_lexer->isNextToken(Lexer::T_WHERE) ? $this->_WhereClause() : null);
     return $updateStatement;
 }
Exemplo n.º 2
0
 /**
  * Walks down an UpdateStatement AST node, thereby generating the appropriate SQL.
  *
  * @param UpdateStatement
  * @return string The SQL.
  */
 public function walkUpdateStatement(AST\UpdateStatement $AST)
 {
     $this->_useSqlTableAliases = false;
     // TODO: Ask platform instead?
     $sql = $this->walkUpdateClause($AST->getUpdateClause());
     if ($whereClause = $AST->getWhereClause()) {
         $sql .= $this->walkWhereClause($whereClause);
     } else {
         if ($discSql = $this->_generateDiscriminatorColumnConditionSql($this->_currentRootAlias)) {
             $sql .= ' WHERE ' . $discSql;
         }
     }
     return $sql;
 }