| @@ 218-234 (lines=17) @@ | ||
| 215 | $this->columns = ExpressionArray::parse($parser, $list); |
|
| 216 | $state = 1; |
|
| 217 | } |
|
| 218 | } elseif ($state === 1) { |
|
| 219 | if ($token->type === Token::TYPE_KEYWORD |
|
| 220 | && $token->value !== 'FROM' |
|
| 221 | ) { |
|
| 222 | $parser->error(__('Unexpected keyword.'), $token); |
|
| 223 | break; |
|
| 224 | } elseif ($token->type === Token::TYPE_KEYWORD |
|
| 225 | && $token->value === 'FROM' |
|
| 226 | ) { |
|
| 227 | ++$list->idx; // Skip 'FROM' |
|
| 228 | $this->from = ExpressionArray::parse($parser, $list); |
|
| 229 | $state = 2; |
|
| 230 | } else { |
|
| 231 | $parser->error(__('Unexpected token.'), $token); |
|
| 232 | break; |
|
| 233 | } |
|
| 234 | } elseif ($state === 2) { |
|
| 235 | if ($token->type === Token::TYPE_KEYWORD |
|
| 236 | && $token->value === 'USING' |
|
| 237 | ) { |
|
| @@ 265-279 (lines=15) @@ | ||
| 262 | $parser->error(__('Unexpected keyword.'), $token); |
|
| 263 | break; |
|
| 264 | } |
|
| 265 | } elseif ($state === 3) { |
|
| 266 | if ($token->type === Token::TYPE_KEYWORD |
|
| 267 | && $token->value === 'WHERE' |
|
| 268 | ) { |
|
| 269 | ++$list->idx; // Skip 'WHERE' |
|
| 270 | $this->where = Condition::parse($parser, $list); |
|
| 271 | $state = 4; |
|
| 272 | } elseif ($token->type === Token::TYPE_KEYWORD) { |
|
| 273 | $parser->error(__('Unexpected keyword.'), $token); |
|
| 274 | break; |
|
| 275 | } else { |
|
| 276 | $parser->error(__('Unexpected token.'), $token); |
|
| 277 | break; |
|
| 278 | } |
|
| 279 | } elseif ($state === 4) { |
|
| 280 | if ($multiTable === true |
|
| 281 | && $token->type === Token::TYPE_KEYWORD |
|
| 282 | ) { |
|