diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 99f6f26355e62f43a59206afebf3d848cfe46ed1..ed909933d15a93c572c138557750739f8a228cc2 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -985,5 +985,9 @@ Sun Oct 22 15:35:53 CEST 2000 Wed Oct 25 08:53:07 CEST 2000 - Added some more C constructs to the parser. + +Wed Oct 25 21:22:17 CEST 2000 + + - Synced gram.y and preproc.y. - Set ecpg version to 2.8.0. - Set library version to 3.2.0. diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 895b1b2cfe84e0016f5a509a50c76b874f99aa83..9b32dd546d0c54ecc85b7a92d90ecf0761cd0c9b 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -286,7 +286,7 @@ make_name(void) %type <str> CreateAsElement OptCreateAs CreateAsList CreateAsStmt %type <str> OptUnder key_reference comment_text ConstraintDeferrabilitySpec %type <str> key_match ColLabel SpecialRuleRelation ColId columnDef -%type <str> ColConstraint ColConstraintElem +%type <str> ColConstraint ColConstraintElem drop_type %type <str> OptTableElementList OptTableElement TableConstraint %type <str> ConstraintElem key_actions ColQualList TokenId DropSchemaStmt %type <str> target_list target_el update_target_list alias_clause @@ -321,7 +321,7 @@ make_name(void) %type <str> RuleActionStmtOrEmpty RuleActionMulti func_as reindex_type %type <str> RuleStmt opt_column opt_name oper_argtypes sysid_clause %type <str> MathOp RemoveFuncStmt aggr_argtype for_update_clause -%type <str> RemoveAggrStmt remove_type RemoveStmt ExtendStmt +%type <str> RemoveAggrStmt ExtendStmt %type <str> RemoveOperStmt RenameStmt all_Op user_valid_clause %type <str> VariableSetStmt var_value zone_value VariableShowStmt %type <str> VariableResetStmt AlterTableStmt DropUserStmt from_list @@ -434,7 +434,6 @@ stmt: AlterSchemaStmt { output_statement($1, 0, NULL, connection); } | RemoveAggrStmt { output_statement($1, 0, NULL, connection); } | RemoveOperStmt { output_statement($1, 0, NULL, connection); } | RemoveFuncStmt { output_statement($1, 0, NULL, connection); } - | RemoveStmt { output_statement($1, 0, NULL, connection); } | RenameStmt { output_statement($1, 0, NULL, connection); } | RevokeStmt { output_statement($1, 0, NULL, connection); } | OptimizableStmt { @@ -1553,20 +1552,25 @@ def_arg: func_return { $$ = $1; } /***************************************************************************** * * QUERY: - * drop <relname1> [, <relname2> .. <relnameN> ] + * + * DROP itemtype itemname [, itemname ...] * *****************************************************************************/ -DropStmt: DROP TABLE relation_name_list - { - $$ = cat2_str(make_str("drop table"), $3); - } - | DROP SEQUENCE relation_name_list +DropStmt: DROP drop_type relation_name_list { - $$ = cat2_str(make_str("drop sequence"), $3); + $$ = cat_str(3, make_str("drop"), $2, $3); } ; +drop_type: TABLE { $$ = make_str("table"); } + | SEQUENCE { $$ = make_str("sequence"); } + | VIEW { $$ = make_str("view"); } + | INDEX { $$ = make_str("index"); } + | RULE { $$ = make_str("rule"); } + | TYPE_P { $$ = make_str("type"); } + ; + /***************************************************************************** * * QUERY: @@ -1985,32 +1989,18 @@ func_return: Typename * * QUERY: * - * remove function <funcname> - * (REMOVE FUNCTION "funcname" (arg1, arg2, ...)) - * remove aggregate <aggname> - * (REMOVE AGGREGATE "aggname" "aggtype") - * remove operator <opname> - * (REMOVE OPERATOR "opname" (leftoperand_typ rightoperand_typ)) - * remove type <typename> - * (REMOVE TYPE "typename") - * remove rule <rulename> - * (REMOVE RULE "rulename") + * DROP FUNCTION funcname (arg1, arg2, ...) + * DROP AGGREGATE aggname aggtype + * DROP OPERATOR opname (leftoperand_typ rightoperand_typ) * *****************************************************************************/ -RemoveStmt: DROP remove_type name +RemoveFuncStmt: DROP FUNCTION func_name func_args { - $$ = cat_str(3, make_str("drop"), $2, $3); + $$ = cat_str(3, make_str("drop function"), $3, $4); } ; -remove_type: TYPE_P { $$ = make_str("type"); } - | INDEX { $$ = make_str("index"); } - | RULE { $$ = make_str("rule"); } - | VIEW { $$ = make_str("view"); } - ; - - RemoveAggrStmt: DROP AGGREGATE name aggr_argtype { $$ = cat_str(3, make_str("drop aggregate"), $3, $4); @@ -2022,13 +2012,6 @@ aggr_argtype: Typename { $$ = $1; } ; -RemoveFuncStmt: DROP FUNCTION func_name func_args - { - $$ = cat_str(3, make_str("drop function"), $3, $4); - } - ; - - RemoveOperStmt: DROP OPERATOR all_Op '(' oper_argtypes ')' { $$ = cat_str(5, make_str("drop operator"), $3, make_str("("), $5, make_str(")"));