@@ 224-240 (lines=17) @@ | ||
221 | $this->columns = ExpressionArray::parse($parser, $list); |
|
222 | $state = 1; |
|
223 | } |
|
224 | } elseif ($state === 1) { |
|
225 | if ($token->type === Token::TYPE_KEYWORD |
|
226 | && $token->value !== 'FROM' |
|
227 | ) { |
|
228 | $parser->error(__('Unexpected keyword.'), $token); |
|
229 | break; |
|
230 | } elseif ($token->type === Token::TYPE_KEYWORD |
|
231 | && $token->value === 'FROM' |
|
232 | ) { |
|
233 | ++$list->idx; // Skip 'FROM' |
|
234 | $this->from = ExpressionArray::parse($parser, $list); |
|
235 | $state = 2; |
|
236 | } else { |
|
237 | $parser->error(__('Unexpected token.'), $token); |
|
238 | break; |
|
239 | } |
|
240 | } elseif ($state === 2) { |
|
241 | if ($token->type === Token::TYPE_KEYWORD |
|
242 | && $token->value === 'USING' |
|
243 | ) { |
|
@@ 274-288 (lines=15) @@ | ||
271 | $parser->error(__('Unexpected token.'), $token); |
|
272 | break; |
|
273 | } |
|
274 | } elseif ($state === 3) { |
|
275 | if ($token->type === Token::TYPE_KEYWORD |
|
276 | && $token->value === 'WHERE' |
|
277 | ) { |
|
278 | ++$list->idx; // Skip 'WHERE' |
|
279 | $this->where = Condition::parse($parser, $list); |
|
280 | $state = 4; |
|
281 | } elseif ($token->type === Token::TYPE_KEYWORD) { |
|
282 | $parser->error(__('Unexpected keyword.'), $token); |
|
283 | break; |
|
284 | } else { |
|
285 | $parser->error(__('Unexpected token.'), $token); |
|
286 | break; |
|
287 | } |
|
288 | } elseif ($state === 4) { |
|
289 | if ($multiTable === true |
|
290 | && $token->type === Token::TYPE_KEYWORD |
|
291 | ) { |