;
execute_rest: /* EMPTY */ { $$ = EMPTY; }
- | ecpg_using ecpg_into { $$ = EMPTY; }
+ | ecpg_using opt_ecpg_into { $$ = EMPTY; }
| ecpg_into ecpg_using { $$ = EMPTY; }
- | ecpg_using { $$ = EMPTY; }
| ecpg_into { $$ = EMPTY; }
;
| into_descriptor { $$ = $1; }
;
+opt_ecpg_into: /* EMPTY */ { $$ = EMPTY; }
+ | ecpg_into { $$ = $1; }
+ ;
+
ecpg_fetch_into: ecpg_into { $$ = $1; }
| using_descriptor
{
%type <str> opt_bit_field
%type <str> opt_connection_name
%type <str> opt_database_name
+%type <str> opt_ecpg_into
%type <str> opt_ecpg_fetch_into
%type <str> opt_ecpg_using
%type <str> opt_initializer
'VariableShowStmtSHOWSESSIONAUTHORIZATION' =>
'SHOW SESSION AUTHORIZATION ecpg_into',
'returning_clauseRETURNINGtarget_list' =>
- 'RETURNING target_list ecpg_into',
+ 'RETURNING target_list opt_ecpg_into',
'ExecuteStmtEXECUTEnameexecute_param_clause' =>
'EXECUTE prepared_name execute_param_clause execute_rest',
'ExecuteStmtCREATEOptTempTABLEcreate_as_targetASEXECUTEnameexecute_param_clause'