Index: src/backend/parser/gram.y =================================================================== RCS file: /var/lib/cvs/pgsql/src/backend/parser/gram.y,v retrieving revision 2.291 diff -c -r2.291 gram.y *** src/backend/parser/gram.y 10 Mar 2002 06:02:23 -0000 2.291 --- src/backend/parser/gram.y 18 Mar 2002 21:09:36 -0000 *************** *** 776,781 **** --- 776,782 ---- n->dbname = $3; $$ = (Node *)n; } + ; /***************************************************************************** *************** *** 973,978 **** --- 974,980 ---- ColId_or_Sconst: ColId { $$ = $1; } | SCONST { $$ = $1; } + ; VariableShowStmt: SHOW ColId *************** *** 1256,1261 **** --- 1258,1264 ---- copy_null: WITH NULL_P AS Sconst { $$ = $4; } | /*EMPTY*/ { $$ = "\\N"; } + ; /***************************************************************************** * *************** *** 1730,1735 **** --- 1733,1739 ---- NumericOnly: FloatOnly { $$ = $1; } | IntegerOnly { $$ = $1; } + ; FloatOnly: FCONST { *************** *** 1779,1784 **** --- 1783,1789 ---- opt_lancompiler: LANCOMPILER Sconst { $$ = $2; } | /*EMPTY*/ { $$ = ""; } + ; DropPLangStmt: DROP opt_procedural LANGUAGE ColId_or_Sconst { *************** *** 4320,4325 **** --- 4325,4331 ---- else type = xlateSqlType("bit"); $$ = type; } + ; /* *************** *** 5560,5565 **** --- 5566,5572 ---- opt_empty_parentheses: '(' ')' { $$ = TRUE; } | /*EMPTY*/ { $$ = TRUE; } + ; /***************************************************************************** * Index: src/interfaces/ecpg/preproc/preproc.y =================================================================== RCS file: /var/lib/cvs/pgsql/src/interfaces/ecpg/preproc/preproc.y,v retrieving revision 1.182 diff -c -r1.182 preproc.y *** src/interfaces/ecpg/preproc/preproc.y 15 Mar 2002 21:46:59 -0000 1.182 --- src/interfaces/ecpg/preproc/preproc.y 18 Mar 2002 21:09:37 -0000 *************** *** 387,392 **** --- 387,393 ---- statements: /*EMPTY*/ | statements statement + ; statement: ecpgstart opt_at stmt ';' { connection = NULL; } | ecpgstart stmt ';' *************** *** 1150,1158 **** --- 1151,1161 ---- key_delete: ON DELETE key_reference { $$ = cat2_str(make_str("on delete"), $3); } + ; key_update: ON UPDATE key_reference { $$ = cat2_str(make_str("on update"), $3); } + ; key_reference: NO ACTION { $$ = make_str("no action"); } | RESTRICT { $$ = make_str("restrict"); } *************** *** 1751,1756 **** --- 1754,1760 ---- { $$ = $1; } | StringConst ',' StringConst { $$ = cat_str(3, $1, make_str(","), $3); } + ; func_return: func_type { *************** *** 3246,3251 **** --- 3250,3256 ---- opt_empty_parentheses: '(' ')' { $$ = make_str("()"); } | /*EMPTY*/ { $$ = EMPTY; } + ; /***************************************************************************** *************** *** 3412,3417 **** --- 3417,3423 ---- /* also allow ORACLE syntax */ | SQL_CONNECT ora_user { $$ = cat_str(3, make_str("NULL,"), $2, make_str(",NULL")); } + ; connection_target: database_name opt_server opt_port { *************** *** 3470,3475 **** --- 3476,3482 ---- else $$ = make3_str(make_str("\""), $1, make_str("\"")); } + ; db_prefix: ident cvariable { *************** *** 3487,3492 **** --- 3494,3500 ---- $$ = make3_str($1, make_str(":"), $2); } + ; server: Op server_name { *************** *** 3498,3519 **** $$ = make2_str($1, $2); } opt_server: server { $$ = $1; } | /*EMPTY*/ { $$ = EMPTY; } server_name: ColId { $$ = $1; } | ColId '.' server_name { $$ = make3_str($1, make_str("."), $3); } | IP { $$ = make_name(); } opt_port: ':' PosIntConst { $$ = make2_str(make_str(":"), $2); } | /*EMPTY*/ { $$ = EMPTY; } opt_connection_name: AS connection_target { $$ = $2; } | /*EMPTY*/ { $$ = make_str("NULL"); } opt_user: USER ora_user { $$ = $2; } ! | /*EMPTY*/ { $$ = make_str("NULL,NULL"); } ora_user: user_name { $$ = cat2_str($1, make_str(", NULL")); } --- 3506,3533 ---- $$ = make2_str($1, $2); } + ; opt_server: server { $$ = $1; } | /*EMPTY*/ { $$ = EMPTY; } + ; server_name: ColId { $$ = $1; } | ColId '.' server_name { $$ = make3_str($1, make_str("."), $3); } | IP { $$ = make_name(); } + ; opt_port: ':' PosIntConst { $$ = make2_str(make_str(":"), $2); } | /*EMPTY*/ { $$ = EMPTY; } + ; opt_connection_name: AS connection_target { $$ = $2; } | /*EMPTY*/ { $$ = make_str("NULL"); } + ; opt_user: USER ora_user { $$ = $2; } ! | /*EMPTY*/ { $$ = make_str("NULL,NULL"); } ! ; ora_user: user_name { $$ = cat2_str($1, make_str(", NULL")); } *************** *** 3993,3998 **** --- 4007,4013 ---- * the exec sql disconnect statement: disconnect from the given database */ ECPGDisconnect: SQL_DISCONNECT dis_name { $$ = $2; } + ; dis_name: connection_object { $$ = $1; } | CURRENT { $$ = make_str("\"CURRENT\""); } *************** *** 4081,4086 **** --- 4096,4102 ---- ; variable: civarind | civar + ; variablelist: variable | variable ',' variablelist; /* *************** *** 4906,4911 **** --- 4922,4928 ---- ; cvariable: CVARIABLE { $$ = $1; } + ; indicator: CVARIABLE { check_indicator((find_variable($1))->type); $$ = $1; } | SQL_INDICATOR cvariable { check_indicator((find_variable($2))->type); $$ = $2; }