示例#1
0
    /**
     * QueryLanguage ::= SelectStatement | UpdateStatement | DeleteStatement
     *
     * @return \Doctrine\ORM\Query\AST\SelectStatement |
     *         \Doctrine\ORM\Query\AST\UpdateStatement |
     *         \Doctrine\ORM\Query\AST\DeleteStatement
     */
    public function QueryLanguage()
    {
        $this->_lexer->moveNext();

        switch ($this->_lexer->lookahead['type']) {
            case Lexer::T_SELECT:
                $statement = $this->SelectStatement();
                break;
            case Lexer::T_UPDATE:
                $statement = $this->UpdateStatement();
                break;
            case Lexer::T_DELETE:
                $statement = $this->DeleteStatement();
                break;
            default:
                $this->syntaxError('SELECT, UPDATE or DELETE');
                break;
        }

        // Check for end of string
        if ($this->_lexer->lookahead !== null) {
            $this->syntaxError('end of string');
        }

        return $statement;
    }
示例#2
0
 /**
  * QueryLanguage ::= SelectStatement | UpdateStatement | DeleteStatement
  */
 public function _QueryLanguage()
 {
     $this->_lexer->moveNext();
     switch ($this->_lexer->lookahead['type']) {
         case Lexer::T_SELECT:
             return $this->_SelectStatement();
         case Lexer::T_UPDATE:
             return $this->_UpdateStatement();
         case Lexer::T_DELETE:
             return $this->_DeleteStatement();
         default:
             $this->syntaxError('SELECT, UPDATE or DELETE');
             break;
     }
 }