'HAVING',
'ORDER \s+ BY',
'SKIP',
+ 'FETCH',
'FIRST',
'LIMIT',
'OFFSET',
@right = $self->_recurse_parse($tokens, PARSE_IN_EXPR);
}
- @left = [$op => [ @left, @right ]];
+ push @left, [$op => [ (@left ? pop @left : ''), @right ]];
}
# unary op keywords
}
# unroll nested parenthesis
- while ( @{$child->[1]} == 1 and $child->[1][0][0] eq '-PAREN') {
+ while ( $ast->[0] ne 'IN' and @{$child->[1]} == 1 and $child->[1][0][0] eq '-PAREN') {
$child = $child->[1][0];
$changes++;
}