Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf8d8266

Browse files
author
Michael Meskes
committed
Synced parser.
1 parent1a7c6ee commitf8d8266

File tree

2 files changed

+70
-36
lines changed

2 files changed

+70
-36
lines changed

‎src/interfaces/ecpg/ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,3 +1319,8 @@ Fri Nov 15 16:46:08 CET 2002
13191319
Wed Nov 27 09:28:54 CET 2002
13201320

13211321
- Synced preproc.y with gram.y.
1322+
1323+
Tue Jan 21 20:50:58 CET 2003
1324+
1325+
- Set ecpg version to 2.11.0.
1326+
- Synced preproc.y with gram.y.

‎src/interfaces/ecpg/preproc/preproc.y

Lines changed: 65 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.205 2002/12/13 20:29:07 momjian Exp $*/
1+
/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.206 2003/01/21 20:01:12 meskes Exp $*/
22

33
/* Copyright comment*/
44
%{
@@ -290,7 +290,7 @@ make_name(void)
290290
%type<str>comment_textConstraintDeferrabilitySpecTableElementList
291291
%type<str>key_matchColLabelSpecialRuleRelationColIdcolumnDef
292292
%type<str>ColConstraintColConstraintElemdrop_typeBconst
293-
%type<str>TableConstraintOptTableElementListXconst
293+
%type<str>TableConstraintOptTableElementListXconstopt_transaction
294294
%type<str>ConstraintElemkey_actionsColQualListtype_name
295295
%type<str>target_listtarget_elupdate_target_listalias_clause
296296
%type<str>update_target_elopt_idqualified_namedatabase_name
@@ -303,7 +303,7 @@ make_name(void)
303303
%type<str>TypenameSimpleTypenameNumericopt_floatopt_numeric
304304
%type<str>opt_decimalCharactercharacteropt_varyingopt_charset
305305
%type<str>opt_collateopt_timezoneopt_intervaltable_ref
306-
%type<str>row_descriptorConstDatetimetrans_options
306+
%type<str>row_descriptorConstDatetimeAlterDomainStmt
307307
%type<str>SelectStmtinto_clauseOptTempConstraintAttributeSpec
308308
%type<str>opt_tableopt_allsort_clausesortby_listConstraintAttr
309309
%type<str>sortbyOptUseOpqualified_name_listname_listColId_or_Sconst
@@ -329,7 +329,7 @@ make_name(void)
329329
%type<str>RemoveOperStmtRenameStmtall_Opopt_Trustedopt_lancompiler
330330
%type<str>VariableSetStmtvar_valuezone_valueVariableShowStmt
331331
%type<str>VariableResetStmtAlterTableStmtfrom_listoverlay_list
332-
%type<str>opt_transuser_listOptUserListOptUserElemrelation_name
332+
%type<str>user_listOptUserListOptUserElemrelation_name
333333
%type<str>CreateUserStmtAlterUserStmtCreateSeqStmtOptSeqList
334334
%type<str>OptSeqElemTriggerForSpecTriggerForOptTriggerForType
335335
%type<str>DropTrigStmtTriggerOneEventTriggerEventsRuleActionStmt
@@ -339,6 +339,7 @@ make_name(void)
339339
%type<str>createdb_opt_listopt_encodingOptInheritopt_equal
340340
%type<str>AlterUserSetStmtprivilege_listprivilegeprivilege_target
341341
%type<str>opt_grant_grant_optionopt_revoke_grant_option
342+
%type<str>transaction_mode_list_or_emptytransaction_mode_list
342343
%type<str>function_with_argtypes_listfunction_with_argtypes
343344
%type<str>DropdbStmtClusterStmtgranteeRevokeStmtBitDropOpClassStmt
344345
%type<str>GrantStmtprivilegesPosAllConstconstraints_set_list
@@ -361,14 +362,14 @@ make_name(void)
361362
%type<str>insert_target_listinsert_column_itemDropRuleStmt
362363
%type<str>createfunc_opt_itemset_restvar_list_or_default
363364
%type<str>CreateFunctionStmtcreatefunc_opt_listfunc_table
364-
%type<str>DropUserStmtcopy_fromcopy_opt_listopt_modecopy_opt_item
365+
%type<str>DropUserStmtcopy_fromcopy_opt_listcopy_opt_item
365366
%type<str>opt_oidsTableLikeClausekey_actionopt_definition
366367
%type<str>cast_contextrowr_exprqual_Opqual_all_Opopt_default
367368
%type<str>CreateConversionStmtany_operatoropclass_item_list
368369
%type<str>iso_leveltype_listCharacterWithLengthConstCharacter
369370
%type<str>CharacterWithoutLengthBitWithLengthBitWithoutLength
370371
%type<str>ConstBitGenericTypeTableFuncElementList
371-
%type<str>opt_sort_clause
372+
%type<str>opt_sort_clausetransaction_access_mode
372373

373374
%type<str>ECPGWheneverECPGConnectconnection_targetECPGOpen
374375
%type<str>indicatorECPGExecuteECPGPrepareopt_ecpg_usingecpg_into
@@ -435,6 +436,7 @@ opt_at: AT connection_target
435436
};
436437

437438
stmt:AlterDatabaseSetStmt { output_statement($1,0, connection); }
439+
|AlterDomainStmt{ output_statement($1,0, connection); }
438440
|AlterGroupStmt{ output_statement($1,0, connection); }
439441
|AlterTableStmt{ output_statement($1,0, connection); }
440442
|AlterUserStmt{ output_statement($1,0, connection); }
@@ -842,10 +844,10 @@ set_rest:ColId TO var_list_or_default
842844
{$$ = cat_str(3,$1, make_str("="),$3); }
843845
|TIMEZONEzone_value
844846
{$$ = cat2_str(make_str("time zone"),$3); }
845-
|TRANSACTIONISOLATIONLEVELiso_levelopt_mode
846-
{$$ =cat_str(3,make_str("transaction isolation level"),$4,$5); }
847-
|SESSIONCHARACTERISTICSASTRANSACTIONISOLATIONLEVELiso_level
848-
{$$ = cat2_str(make_str("session characteristics as transaction isolation level"),$7); }
847+
|TRANSACTIONtransaction_mode_list
848+
{$$ =cat2_str(make_str("transaction"),$2); }
849+
|SESSIONCHARACTERISTICSASTRANSACTIONtransaction_mode_list
850+
{$$ = cat2_str(make_str("session characteristics as transaction"),$5); }
849851
|NAMESopt_encoding
850852
{$$ = cat2_str(make_str("names"),$2); }
851853
|SESSIONAUTHORIZATIONColId_or_Sconst
@@ -870,12 +872,6 @@ iso_level:READ COMMITTED{ $$ = make_str("read committed"); }
870872
|SERIALIZABLE{$$ = make_str("serializable"); }
871873
;
872874

873-
opt_mode:READWRITE{$$ = make_str("read write"); }
874-
|READONLY{ mmerror(PARSE_ERROR, ET_ERROR,"SET TRANSACTION/READ ONLY is not yet supported");
875-
$$ = make_str("read only"); }
876-
|/* EMPTY*/{$$ = EMPTY; }
877-
;
878-
879875
var_value:opt_boolean{$$ =$1; }
880876
|AllConst{$$ =$1; }
881877
|ColId{$$ =$1; }
@@ -1657,12 +1653,7 @@ TruncateStmt: TRUNCATE opt_table qualified_name
16571653
*****************************************************************************/
16581654

16591655
FetchStmt:FETCHdirectionfetch_how_manyfrom_innameecpg_into
1660-
{
1661-
if (strcmp($2,"relative") ==0 && atol($3) ==0L)
1662-
mmerror(PARSE_ERROR, ET_ERROR,"FETCH/RELATIVE at current position is not supported");
1663-
1664-
$$ = cat_str(5, make_str("fetch"),$2,$3,$4,$5);
1665-
}
1656+
{$$ = cat_str(5, make_str("fetch"),$2,$3,$4,$5); }
16661657
|FETCHfetch_how_manyfrom_innameecpg_into
16671658
{$$ = cat_str(4, make_str("fetch"),$2,$3,$4); }
16681659
|FETCHdirectionfrom_innameecpg_into
@@ -1758,8 +1749,14 @@ GrantStmt:GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_
17581749
{$$ = cat_str(7, make_str("grant"),$2, make_str("on"),$4, make_str("to"),$6,$7); }
17591750
;
17601751

1761-
RevokeStmt:REVOKEopt_revoke_grant_optionprivilegesONprivilege_targetFROMgrantee_list
1762-
{$$ = cat_str(8, make_str("revoke"),$2,$3, make_str("on"),$5, make_str("from"),$7); }
1752+
RevokeStmt:REVOKEopt_revoke_grant_optionprivilegesONprivilege_targetFROMgrantee_listopt_drop_behavior
1753+
{
1754+
if (strcmp($8,"drop cascade") ==0)
1755+
mmerror(PARSE_ERROR, ET_WARNING,"Not implemented REVOKE ... CASCADE will be send to backend");
1756+
1757+
$$ = cat_str(9, make_str("revoke"),$2,$3, make_str("on"),$5, make_str("from"),$7,$8);
1758+
}
1759+
17631760
;
17641761

17651762
privileges:ALLPRIVILEGES{$$ = make_str("all privileges"); }
@@ -2178,22 +2175,40 @@ UnlistenStmt: UNLISTEN qualified_name
21782175
*(also older versions END / ABORT)
21792176
*
21802177
*****************************************************************************/
2181-
TransactionStmt:ABORT_TRANSopt_trans{$$ = make_str("rollback"); }
2182-
|BEGIN_TRANSopt_trans{$$ = make_str("begin transaction"); }
2183-
|STARTTRANSACTIONtrans_options{$$ = cat2_str(make_str("start transaction"),$3); }
2184-
|COMMITopt_trans{$$ = make_str("commit"); }
2185-
|END_TRANSopt_trans{$$ = make_str("commit"); }
2186-
|ROLLBACKopt_trans{$$ = make_str("rollback"); }
2187-
;
2188-
2189-
trans_options:ISOLATIONLEVELiso_level{$$ = cat2_str(make_str("isolation level"),$3); }
2178+
TransactionStmt:ABORT_TRANSopt_transaction{$$ = make_str("rollback"); }
2179+
|BEGIN_TRANSopt_transaction{$$ = make_str("begin transaction"); }
2180+
|STARTTRANSACTIONtransaction_mode_list_or_empty{$$ = cat2_str(make_str("start transaction"),$3); }
2181+
|COMMITopt_transaction{$$ = make_str("commit"); }
2182+
|END_TRANSopt_transaction{$$ = make_str("commit"); }
2183+
|ROLLBACKopt_transaction{$$ = make_str("rollback"); }
21902184
;
21912185

2192-
opt_trans:WORK{$$ = EMPTY; }
2186+
opt_transaction:WORK{$$ = EMPTY; }
21932187
|TRANSACTION{$$ = EMPTY; }
21942188
|/*EMPTY*/{$$ = EMPTY; }
21952189
;
21962190

2191+
transaction_mode_list:
2192+
ISOLATIONLEVELiso_level
2193+
{$$ = cat2_str(make_str("isolation level"),$3); }
2194+
|transaction_access_mode
2195+
{$$ =$1; }
2196+
|ISOLATIONLEVELiso_leveltransaction_access_mode
2197+
{$$ = cat_str(3, make_str("isolation level"),$3,$4); }
2198+
|transaction_access_modeISOLATIONLEVELiso_level
2199+
{$$ = cat_str(3,$1, make_str("isolation level"),$4); }
2200+
;
2201+
2202+
transaction_mode_list_or_empty:
2203+
transaction_mode_list{$$ =$1; }
2204+
|/* EMPTY*/{$$ = EMPTY; }
2205+
;
2206+
2207+
transaction_access_mode:
2208+
READONLY{$$ = make_str("read only"); }
2209+
|READWRITE {$$ = make_str("read write"); }
2210+
;
2211+
21972212
/*****************************************************************************
21982213
*
21992214
*QUERY:
@@ -2297,6 +2312,21 @@ CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList opt_coll
22972312
}
22982313
;
22992314

2315+
AlterDomainStmt:
2316+
ALTERDOMAIN_Pany_namealter_column_default
2317+
{$$ = cat_str(3, make_str("alter domain"),$3,$4); }
2318+
|ALTERDOMAIN_Pany_nameDROPNOTNULL_P
2319+
{$$ = cat_str(3, make_str("alter domain"),$3, make_str("drop not null")); }
2320+
|ALTERDOMAIN_Pany_nameSETNOTNULL_P
2321+
{$$ = cat_str(3, make_str("alter domain"),$3, make_str("set not null")); }
2322+
|ALTERDOMAIN_Pany_nameADDTableConstraint
2323+
{$$ = cat_str(4, make_str("alter domain"),$3, make_str("add"),$5); }
2324+
|ALTERDOMAIN_Pany_nameDROPCONSTRAINTnameopt_drop_behavior
2325+
{$$ = cat_str(5, make_str("alter domain"),$3, make_str("drop constraint"),$6,$7); }
2326+
|ALTERDOMAIN_Pany_nameOWNERTOUserId
2327+
{$$ = cat_str(4, make_str("alter domain"),$3, make_str("owner to"),$6); }
2328+
;
2329+
23002330
opt_as:AS{$$ = make_str("as"); }
23012331
|/* EMPTY*/{$$ = EMPTY; }
23022332
;
@@ -5169,8 +5199,8 @@ unreserved_keyword:
51695199
|INSTEAD{$$ = make_str("instead"); }
51705200
|ISOLATION{$$ = make_str("isolation"); }
51715201
|KEY{$$ = make_str("key"); }
5172-
|LANGUAGE{$$ = make_str("language"); }
51735202
|LANCOMPILER{$$ = make_str("lancompiler"); }
5203+
|LANGUAGE{$$ = make_str("language"); }
51745204
|LAST{$$ = make_str("last"); }
51755205
|LEVEL{$$ = make_str("level"); }
51765206
|LISTEN{$$ = make_str("listen"); }
@@ -5422,7 +5452,6 @@ reserved_keyword:
54225452
|UNIQUE{$$ = make_str("unique"); }
54235453
|USER{$$ = make_str("user"); }
54245454
|USING{$$ = make_str("using"); }
5425-
|VALUE{$$ = make_str("value"); }
54265455
|WHEN{$$ = make_str("when"); }
54275456
|WHERE{$$ = make_str("where"); }
54285457
;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp