@@ -777,10 +777,10 @@ adjust_array(enum ECPGttype type_enum, int *dimension, int *length, int type_dim
777777%type <str> update_target_el opt_id relation_name database_name
778778%type <str> access_method attr_name class index_name name func_name
779779%type <str> file_name AexprConst ParamNo TypeId
780- %type <str> in_expr_nodes not_in_expr_nodes a_expr b_expr
780+ %type <str> in_expr_nodes a_expr b_expr
781781%type <str> opt_indirection expr_list extract_list extract_arg
782782%type <str> position_list substr_list substr_from
783- %type <str> trim_list in_expr substr_for not_in_expr attr attrs
783+ %type <str> trim_list in_expr substr_for attr attrs
784784%type <str> Typename SimpleTypename Generic Numeric generic opt_float opt_numeric
785785%type <str> opt_decimal Character character opt_varying opt_charset
786786%type <str> opt_collate Datetime datetime opt_timezone opt_interval
@@ -3687,7 +3687,7 @@ a_expr: attr
36873687{
36883688$$ = make4_str($1 , make1_str(" in (" ),$4 , make1_str(" )" ));
36893689}
3690- | a_expr NOT IN ' (' not_in_expr ' )'
3690+ | a_expr NOT IN ' (' in_expr ' )'
36913691{
36923692$$ = make4_str($1 , make1_str(" not in (" ),$5 , make1_str(" )" ));
36933693}
@@ -4020,23 +4020,9 @@ in_expr: SubSelect
40204020{$$ =$1 ; }
40214021;
40224022
4023- in_expr_nodes :AexprConst
4023+ in_expr_nodes :a_expr
40244024{$$ =$1 ; }
4025- | in_expr_nodes ' ,' AexprConst
4026- {$$ = cat3_str($1 , make1_str(" ," ),$3 );}
4027- ;
4028-
4029- not_in_expr :SubSelect
4030- {
4031- $$ =$1 ;
4032- }
4033- | not_in_expr_nodes
4034- {$$ =$1 ; }
4035- ;
4036-
4037- not_in_expr_nodes :AexprConst
4038- {$$ =$1 ; }
4039- | not_in_expr_nodes ' ,' AexprConst
4025+ | in_expr_nodes ' ,' a_expr
40404026{$$ = cat3_str($1 , make1_str(" ," ),$3 );}
40414027;
40424028
@@ -5647,7 +5633,7 @@ ecpg_expr: attr
56475633{
56485634$$ = make4_str($1 , make1_str(" in (" ),$4 , make1_str(" )" ));
56495635}
5650- | a_expr NOT IN ' (' not_in_expr ' )'
5636+ | a_expr NOT IN ' (' in_expr ' )'
56515637{
56525638$$ = make4_str($1 , make1_str(" not in (" ),$5 , make1_str(" )" ));
56535639}