@@ -387,6 +387,7 @@ prog: statements;
387
387
388
388
statements : /* EMPTY*/
389
389
| statements statement
390
+ ;
390
391
391
392
statement : ecpgstart opt_at stmt ' ;' { connection = NULL ; }
392
393
| ecpgstart stmt ' ;'
@@ -1150,9 +1151,11 @@ key_actions: key_delete { $$ = $1; }
1150
1151
1151
1152
key_delete : ON DELETE key_reference
1152
1153
{ $$ = cat2_str(make_str(" on delete" ), $3 ); }
1154
+ ;
1153
1155
1154
1156
key_update : ON UPDATE key_reference
1155
1157
{ $$ = cat2_str(make_str(" on update" ), $3 ); }
1158
+ ;
1156
1159
1157
1160
key_reference : NO ACTION { $$ = make_str(" no action" ); }
1158
1161
| RESTRICT { $$ = make_str(" restrict" ); }
@@ -1751,6 +1754,7 @@ func_as: StringConst
1751
1754
{ $$ = $1 ; }
1752
1755
| StringConst ' ,' StringConst
1753
1756
{ $$ = cat_str(3 , $1 , make_str(" ," ), $3 ); }
1757
+ ;
1754
1758
1755
1759
func_return : func_type
1756
1760
{
@@ -3246,6 +3250,7 @@ attrs: attr_name
3246
3250
3247
3251
opt_empty_parentheses : ' (' ' )' { $$ = make_str(" ()" ); }
3248
3252
| /* EMPTY*/ { $$ = EMPTY; }
3253
+ ;
3249
3254
3250
3255
3251
3256
/* ****************************************************************************
@@ -3412,6 +3417,7 @@ ECPGConnect: SQL_CONNECT TO connection_target opt_connection_name opt_user
3412
3417
/* also allow ORACLE syntax */
3413
3418
| SQL_CONNECT ora_user
3414
3419
{ $$ = cat_str(3 , make_str(" NULL," ), $2 , make_str(" ,NULL" )); }
3420
+ ;
3415
3421
3416
3422
connection_target : database_name opt_server opt_port
3417
3423
{
@@ -3470,6 +3476,7 @@ connection_target: database_name opt_server opt_port
3470
3476
else
3471
3477
$$ = make3_str(make_str(" \" " ), $1 , make_str(" \" " ));
3472
3478
}
3479
+ ;
3473
3480
3474
3481
db_prefix : ident cvariable
3475
3482
{
@@ -3487,6 +3494,7 @@ db_prefix: ident cvariable
3487
3494
3488
3495
$$ = make3_str($1 , make_str(" :" ), $2 );
3489
3496
}
3497
+ ;
3490
3498
3491
3499
server : Op server_name
3492
3500
{
@@ -3498,22 +3506,28 @@ server: Op server_name
3498
3506
3499
3507
$$ = make2_str($1 , $2 );
3500
3508
}
3509
+ ;
3501
3510
3502
3511
opt_server : server { $$ = $1 ; }
3503
3512
| /* EMPTY*/ { $$ = EMPTY; }
3513
+ ;
3504
3514
3505
3515
server_name : ColId { $$ = $1 ; }
3506
3516
| ColId ' .' server_name { $$ = make3_str($1 , make_str(" ." ), $3 ); }
3507
3517
| IP { $$ = make_name(); }
3518
+ ;
3508
3519
3509
3520
opt_port : ' :' PosIntConst { $$ = make2_str(make_str(" :" ), $2 ); }
3510
3521
| /* EMPTY*/ { $$ = EMPTY; }
3522
+ ;
3511
3523
3512
3524
opt_connection_name : AS connection_target { $$ = $2 ; }
3513
3525
| /* EMPTY*/ { $$ = make_str(" NULL" ); }
3526
+ ;
3514
3527
3515
3528
opt_user : USER ora_user { $$ = $2 ; }
3516
- | /* EMPTY*/ { $$ = make_str(" NULL,NULL" ); }
3529
+ | /* EMPTY*/ { $$ = make_str(" NULL,NULL" ); }
3530
+ ;
3517
3531
3518
3532
ora_user : user_name
3519
3533
{ $$ = cat2_str($1 , make_str(" , NULL" )); }
@@ -3993,6 +4007,7 @@ ECPGDeclare: DECLARE STATEMENT ident
3993
4007
* the exec sql disconnect statement: disconnect from the given database
3994
4008
*/
3995
4009
ECPGDisconnect : SQL_DISCONNECT dis_name { $$ = $2 ; }
4010
+ ;
3996
4011
3997
4012
dis_name : connection_object { $$ = $1 ; }
3998
4013
| CURRENT { $$ = make_str(" \" CURRENT\" " ); }
@@ -4081,6 +4096,7 @@ opt_ecpg_into: /*EMPTY*/ { $$ = EMPTY; }
4081
4096
;
4082
4097
4083
4098
variable : civarind | civar
4099
+ ;
4084
4100
variablelist : variable | variable ' ,' variablelist ;
4085
4101
4086
4102
/*
@@ -4906,6 +4922,7 @@ civar: cvariable
4906
4922
;
4907
4923
4908
4924
cvariable : CVARIABLE { $$ = $1 ; }
4925
+ ;
4909
4926
4910
4927
indicator : CVARIABLE { check_indicator((find_variable($1 ))->type); $$ = $1 ; }
4911
4928
| SQL_INDICATOR cvariable { check_indicator((find_variable($2 ))->type); $$ = $2 ; }
0 commit comments