@@ 241-257 (lines=17) @@ | ||
238 | $this->columns = ExpressionArray::parse($parser, $list); |
|
239 | $state = 1; |
|
240 | } |
|
241 | } elseif ($state === 1) { |
|
242 | if ($token->type === Token::TYPE_KEYWORD |
|
243 | && $token->keyword !== 'FROM' |
|
244 | ) { |
|
245 | $parser->error('Unexpected keyword.', $token); |
|
246 | break; |
|
247 | } elseif ($token->type === Token::TYPE_KEYWORD |
|
248 | && $token->keyword === 'FROM' |
|
249 | ) { |
|
250 | ++$list->idx; // Skip 'FROM' |
|
251 | $this->from = ExpressionArray::parse($parser, $list); |
|
252 | ||
253 | $state = 2; |
|
254 | } else { |
|
255 | $parser->error('Unexpected token.', $token); |
|
256 | break; |
|
257 | } |
|
258 | } elseif ($state === 2) { |
|
259 | if ($token->type === Token::TYPE_KEYWORD |
|
260 | && stripos($token->keyword, 'JOIN') !== false |
|
@@ 296-310 (lines=15) @@ | ||
293 | $parser->error('Unexpected keyword.', $token); |
|
294 | break; |
|
295 | } |
|
296 | } elseif ($state === 3) { |
|
297 | if ($token->type === Token::TYPE_KEYWORD |
|
298 | && $token->keyword === 'WHERE' |
|
299 | ) { |
|
300 | ++$list->idx; // Skip 'WHERE' |
|
301 | $this->where = Condition::parse($parser, $list); |
|
302 | $state = 4; |
|
303 | } elseif ($token->type === Token::TYPE_KEYWORD) { |
|
304 | $parser->error('Unexpected keyword.', $token); |
|
305 | break; |
|
306 | } else { |
|
307 | $parser->error('Unexpected token.', $token); |
|
308 | break; |
|
309 | } |
|
310 | } elseif ($state === 4) { |
|
311 | if ($multiTable === true |
|
312 | && $token->type === Token::TYPE_KEYWORD |
|
313 | ) { |