Trying to fix
https://github.com/FirebirdSQL/firebird/issues/8182, I
made the following change in the Firebird 5 parse.y:
From:
```
%type <exprNode> in_predicate_value
in_predicate_value
: table_subquery { $$ = $1; }
| '(' value_list ')' { $$ = $2; }
;
%type <selectExprNode> table_subquery
table_subquery
: '(' column_select ')' { $$ = $2; }
;
```
to:
```
%type <exprNode> in_predicate_value
in_predicate_value
: table_subquery { $$ = $1; }
| '(' value_list ')' { $$ = $2; }
;
%type <selectExprNode> table_subquery
table_subquery
: '(' column_select ')' { $$ = $2; }
| '(' table_subquery ')' { $$ = $2; }
;
```
This seems to work, but increases the shift/reduce conflicts from 69 to 70.
Is that an acceptable trade-off, or am I maybe missing an alternative
solution?
--
Mark Rotteveel