<?php
/**
*
* Sql_ParserDelete
* @package Sql
* @subpackage Sql_Parser
* @author Thomas Schäfer
* @since 30.11.2008 07:49:30
* @desc parses a sql delete into object
*/
/**
*
* Sql_ParserDelete
* @package Sql
* @subpackage Sql_Parser
* @author Thomas Schäfer
* @since 30.11.2008 07:49:30
* @desc parses a sql delete into object
*/
class Sql_ParserDelete implements Sql_InterfaceParser {
public static function doParse(){
Sql_Parser::getTok();
if (Sql_Object::token() != 'from') {
return Sql_Parser::raiseError('Expected "from"');
}
$tree = array('Command' => 'delete');
Sql_Parser::getTok();
if (Sql_Object::token() != 'ident') {
return Sql_Parser::raiseError('Expected a table name');
}
$tree['TableNames'][] = Sql_Object::lexer()->tokText;
Sql_Parser::getTok();
if (Sql_Object::token() != 'where') {
return Sql_Parser::raiseError('Expected "where"');
}
$clause = Sql_Parser::parseSearchClause();
if (Sql_Parser::isError($clause)) {
return $clause;
}
$tree['Where'] = $clause;
return $tree;
}
public static function parse() {
return self::doParse();
}
}
|