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

Commit3d56495

Browse files
committed
Improve rule action ordering in gram.y, more cleanups.
1 parente25f9e4 commit3d56495

File tree

1 file changed

+50
-75
lines changed

1 file changed

+50
-75
lines changed

‎src/backend/parser/gram.y

Lines changed: 50 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
%{
1+
%{
22

33
/*#define YYDEBUG 1*/
44
/*-------------------------------------------------------------------------
@@ -11,7 +11,7 @@
1111
*
1212
*
1313
* IDENTIFICATION
14-
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.327 2002/06/17 20:38:04 momjian Exp $
14+
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.328 2002/06/18 00:28:11 momjian Exp $
1515
*
1616
* HISTORY
1717
* AUTHORDATEMAJOR EVENT
@@ -659,14 +659,8 @@ OptUserElem:
659659
}
660660
;
661661

662-
user_list:user_list','UserId
663-
{
664-
$$ = lappend($1, makeString($3));
665-
}
666-
|UserId
667-
{
668-
$$ = makeList1(makeString($1));
669-
}
662+
user_list:user_list','UserId{$$ = lappend($1, makeString($3)); }
663+
|UserId{$$ = makeList1(makeString($1)); }
670664
;
671665

672666

@@ -913,8 +907,7 @@ var_list_or_default:
913907
|DEFAULT{$$ = NIL; }
914908
;
915909

916-
var_list:
917-
var_value{$$ = makeList1($1); }
910+
var_list:var_value{$$ = makeList1($1); }
918911
|var_list','var_value{$$ = lappend($1,$3); }
919912
;
920913

@@ -1654,8 +1647,9 @@ opt_column_list:
16541647
|/*EMPTY*/{$$ = NIL; }
16551648
;
16561649

1657-
columnList:columnList','columnElem{$$ = lappend($1,$3); }
1658-
|columnElem{$$ = makeList1($1); }
1650+
columnList:
1651+
columnElem{$$ = makeList1($1); }
1652+
|columnList','columnElem{$$ = lappend($1,$3); }
16591653
;
16601654

16611655
columnElem:ColId
@@ -1742,8 +1736,8 @@ OptCreateAs:
17421736
;
17431737

17441738
CreateAsList:
1745-
CreateAsList','CreateAsElement{$$ =lappend($1,$3); }
1746-
|CreateAsElement{$$ =makeList1($1); }
1739+
CreateAsElement{$$ =makeList1($1); }
1740+
|CreateAsList','CreateAsElement{$$ =lappend($1,$3); }
17471741
;
17481742

17491743
CreateAsElement:
@@ -2015,8 +2009,7 @@ TriggerForType:
20152009

20162010
TriggerFuncArgs:
20172011
TriggerFuncArg{$$ = makeList1($1); }
2018-
|TriggerFuncArgs','TriggerFuncArg
2019-
{$$ = lappend($1,$3); }
2012+
|TriggerFuncArgs','TriggerFuncArg{$$ = lappend($1,$3); }
20202013
|/*EMPTY*/{$$ = NIL; }
20212014
;
20222015

@@ -2169,7 +2162,7 @@ DefineStmt:
21692162
definition:'('def_list')'{$$ =$2; }
21702163
;
21712164

2172-
def_list:def_elem{$$ = makeList1($1); }
2165+
def_list:def_elem{$$ = makeList1($1); }
21732166
|def_list','def_elem{$$ = lappend($1,$3); }
21742167
;
21752168

@@ -2659,10 +2652,9 @@ opt_revoke_grant_option:
26592652

26602653

26612654
function_with_argtypes_list:
2662-
function_with_argtypes
2663-
{$$ = makeList1($1); }
2655+
function_with_argtypes{$$ = makeList1($1); }
26642656
|function_with_argtypes_list','function_with_argtypes
2665-
{$$ = lappend($1,$3); }
2657+
{$$ = lappend($1,$3); }
26662658
;
26672659

26682660
function_with_argtypes:
@@ -2700,23 +2692,23 @@ IndexStmt:CREATE index_opt_unique INDEX index_name ON qualified_name
27002692
;
27012693

27022694
index_opt_unique:
2703-
UNIQUE{$$ =TRUE; }
2704-
|/*EMPTY*/{$$ =FALSE; }
2695+
UNIQUE{$$ =TRUE; }
2696+
|/*EMPTY*/{$$ =FALSE; }
27052697
;
27062698

27072699
access_method_clause:
2708-
USINGaccess_method{$$ =$2; }
2700+
USINGaccess_method{$$ =$2; }
27092701
/* If btree changes as our default, update pg_get_indexdef()*/
2710-
|/*EMPTY*/{$$ = DEFAULT_INDEX_TYPE; }
2702+
|/*EMPTY*/{$$ = DEFAULT_INDEX_TYPE; }
27112703
;
27122704

27132705
index_params:
2714-
index_list{$$ =$1; }
2715-
|func_index{$$ = makeList1($1); }
2706+
index_list{$$ =$1; }
2707+
|func_index{$$ = makeList1($1); }
27162708
;
27172709

2718-
index_list:index_list','index_elem{$$ =lappend($1,$3); }
2719-
|index_elem{$$ =makeList1($1); }
2710+
index_list:index_elem{$$ =makeList1($1); }
2711+
|index_list','index_elem{$$ =lappend($1,$3); }
27202712
;
27212713

27222714
func_index:func_name'('name_list')'opt_class
@@ -2770,8 +2762,8 @@ opt_class:any_name
27702762
else
27712763
$$ =$1;
27722764
}
2773-
|USINGany_name{$$ =$2; }
2774-
|/*EMPTY*/{$$ = NIL; }
2765+
|USINGany_name{$$ =$2; }
2766+
|/*EMPTY*/{$$ = NIL; }
27752767
;
27762768

27772769
/*****************************************************************************
@@ -2882,9 +2874,10 @@ func_type:Typename{ $$ = $1; }
28822874

28832875

28842876
createfunc_opt_list:
2885-
createfunc_opt_item{$$ = makeList1($1); }
2886-
|createfunc_opt_listcreatefunc_opt_item {$$ = lappend($1,$2); }
2887-
;
2877+
/* Must be at least one to prevent conflict*/
2878+
createfunc_opt_item {$$ = makeList1($1); }
2879+
|createfunc_opt_listcreatefunc_opt_item {$$ = lappend($1,$2); }
2880+
;
28882881

28892882
createfunc_opt_item:
28902883
ASfunc_as
@@ -3389,21 +3382,11 @@ CreatedbStmt:
33893382
}
33903383
$$ = (Node *)n;
33913384
}
3392-
|CREATEDATABASEdatabase_name
3393-
{
3394-
CreatedbStmt *n = makeNode(CreatedbStmt);
3395-
n->dbname =$3;
3396-
n->dbowner =NULL;
3397-
n->dbpath =NULL;
3398-
n->dbtemplate =NULL;
3399-
n->encoding = -1;
3400-
$$ = (Node *)n;
3401-
}
34023385
;
34033386

34043387
createdb_opt_list:
3405-
createdb_opt_item{$$ =makeList1($1); }
3406-
|createdb_opt_listcreatedb_opt_item{$$ =lappend($1,$2); }
3388+
createdb_opt_listcreatedb_opt_item{$$ =lappend($1,$2); }
3389+
|/* EMPTY*/{$$ =NIL; }
34073390
;
34083391

34093392
/*
@@ -3756,8 +3739,8 @@ insert_rest:
37563739
;
37573740

37583741
insert_column_list:
3759-
insert_column_list','insert_column_item{$$ =lappend($1,$3); }
3760-
|insert_column_item{$$ =makeList1($1); }
3742+
insert_column_item{$$ =makeList1($1); }
3743+
|insert_column_list','insert_column_item{$$ =lappend($1,$3); }
37613744
;
37623745

37633746
insert_column_item:
@@ -4226,8 +4209,9 @@ from_clause:
42264209
|/*EMPTY*/{$$ = NIL; }
42274210
;
42284211

4229-
from_list:from_list','table_ref{$$ = lappend($1,$3); }
4230-
|table_ref{$$ = makeList1($1); }
4212+
from_list:
4213+
table_ref{$$ = makeList1($1); }
4214+
|from_list','table_ref{$$ = lappend($1,$3); }
42314215
;
42324216

42334217
/*
@@ -4993,20 +4977,11 @@ row_expr:'(' row_descriptor ')' IN_P select_with_parens
49934977
;
49944978

49954979
row_descriptor:
4996-
row_list','a_expr
4997-
{
4998-
$$ = lappend($1,$3);
4999-
}
4980+
row_list','a_expr{$$ = lappend($1,$3); }
50004981
;
50014982

5002-
row_list:row_list','a_expr
5003-
{
5004-
$$ = lappend($1,$3);
5005-
}
5006-
|a_expr
5007-
{
5008-
$$ = makeList1($1);
5009-
}
4983+
row_list:a_expr {$$ = makeList1($1); }
4984+
|row_list','a_expr{$$ = lappend($1,$3); }
50104985
;
50114986

50124987
sub_type:ANY{$$ = ANY_SUBLINK; }
@@ -5030,12 +5005,12 @@ MathOp: '+'{ $$ = "+"; }
50305005
;
50315006

50325007
qual_Op:Op{$$ = makeList1(makeString($1)); }
5033-
|OPERATOR'('any_operator')'{$$ =$3; }
5008+
|OPERATOR'('any_operator')'{$$ =$3; }
50345009
;
50355010

50365011
qual_all_Op:
50375012
all_Op{$$ = makeList1(makeString($1)); }
5038-
|OPERATOR'('any_operator')'{$$ =$3; }
5013+
|OPERATOR'('any_operator')'{$$ =$3; }
50395014
;
50405015

50415016
/*
@@ -5445,8 +5420,7 @@ c_expr:columnref{ $$ = (Node *) $1; }
54455420
n->indirection =$3;
54465421
$$ = (Node *)n;
54475422
}
5448-
|'('a_expr')'
5449-
{$$ =$2; }
5423+
|'('a_expr')'{$$ =$2; }
54505424
|'('a_expr')'attrsopt_indirection
54515425
{
54525426
ExprFieldSelect *n = makeNode(ExprFieldSelect);
@@ -6056,8 +6030,9 @@ case_expr:CASE case_arg when_clause_list case_default END_TRANS
60566030
;
60576031

60586032
when_clause_list:
6059-
when_clause_listwhen_clause{$$ = lappend($1,$2); }
6060-
|when_clause{$$ = makeList1($1); }
6033+
/* There must be at least one*/
6034+
when_clause{$$ = makeList1($1); }
6035+
|when_clause_listwhen_clause{$$ = lappend($1,$2); }
60616036
;
60626037

60636038
when_clause:
@@ -6117,8 +6092,8 @@ attrs:'.' attr_name{ $$ = makeList1(makeString($2)); }
61176092
/* Target lists as found in SELECT ... and INSERT VALUES ( ... )*/
61186093

61196094
target_list:
6120-
target_list','target_el{$$ =lappend($1,$3); }
6121-
|target_el{$$ =makeList1($1); }
6095+
target_el{$$ =makeList1($1); }
6096+
|target_list','target_el{$$ =lappend($1,$3); }
61226097
;
61236098

61246099
/* AS is not optional because shift/red conflict with unary ops*/
@@ -6155,8 +6130,8 @@ target_el:a_expr AS ColLabel
61556130
}
61566131
*/
61576132
update_target_list:
6158-
update_target_list','update_target_el{$$ =lappend($1,$3); }
6159-
|update_target_el{$$ =makeList1($1); }
6133+
update_target_el{$$ =makeList1($1); }
6134+
|update_target_list','update_target_el{$$ =lappend($1,$3); }
61606135
;
61616136

61626137
update_target_el:
@@ -6170,8 +6145,8 @@ update_target_el:
61706145
;
61716146

61726147
insert_target_list:
6173-
insert_target_list','insert_target_el{$$ =lappend($1,$3); }
6174-
|insert_target_el{$$ =makeList1($1); }
6148+
insert_target_el{$$ =makeList1($1); }
6149+
|insert_target_list','insert_target_el{$$ =lappend($1,$3); }
61756150
;
61766151

61776152
insert_target_el:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp