Skip to content

Commit 9d6b779

Browse files
committed
Fix def_arg rule
1 parent 0973d45 commit 9d6b779

File tree

2 files changed

+81
-9
lines changed

2 files changed

+81
-9
lines changed

src/backend/parser/ag_scanner.l

+1-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ gt_eq ">="
279279
dot_dot ".."
280280
plus_eq "+="
281281
typecast "::"
282-
operator [&<=>|~!*?@#%]{2,3}|[@|?&#]|"?-|"|"?-"|"@-@"|"<->"|~|"##"|"#@%#"
282+
operator [&<=>|~!*?@#%]{2,3}|[@|?&#]|"?-|"|"?-"|"@-@"|"<->"|~|"##"|"#@%#"|"~>=~"
283283
operatorfail1 "@-"|"<-"
284284
self [?&!@#%()*+,\-.~/:;<=>[\]^{|}]
285285

src/backend/parser/cypher_gram.y

+80-8
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,8 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
290290
CreateTrigStmt CreatePLangStmt CreateSeqStmt CreateRoleStmt
291291
CreateExtensionStmt CreateFunctionStmt CreateGraphStmt
292292
CreateTableStmt CreateTableSpaceStmt CreateFdwStmt
293-
CreateUserStmt
294-
DeclareCursorStmt
293+
CreateUserStmt ConstraintsSetStmt CheckPointStmt
294+
DeclareCursorStmt DiscardStmt
295295
DefineStmt DeleteStmt DoStmt DropCastStmt DropdbStmt DropGraphStmt
296296
DropStmt DropTableSpaceStmt DropTransformStmt DropOpClassStmt DropOpFamilyStmt
297297
DropRoleStmt
@@ -653,7 +653,8 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
653653
%type <node> RowSecurityOptionalWithCheck RowSecurityOptionalExpr
654654
%type <list> RowSecurityDefaultToRole RowSecurityOptionalToRole
655655

656-
656+
%type <list> constraints_set_list
657+
%type <boolean> constraints_set_mode
657658
%type <string> OptTableSpace OptConsTableSpace
658659
%type <rolespec> OptTableSpaceOwner
659660
%type <integer> opt_check_option
@@ -895,7 +896,9 @@ stmt:
895896
| AlterTypeStmt
896897
| AnalyzeStmt
897898
| CallStmt
899+
| CheckPointStmt
898900
| CreateConversionStmt
901+
| ConstraintsSetStmt
899902
| CopyStmt
900903
| ClusterStmt
901904
| CreateAsStmt
@@ -923,6 +926,7 @@ stmt:
923926
| DeclareCursorStmt
924927
| DefineStmt
925928
| DeleteStmt
929+
| DiscardStmt
926930
| DoStmt
927931
| DropdbStmt
928932
| DropGraphStmt
@@ -5226,10 +5230,7 @@ def_arg: func_type { $$ = (Node *)$1; }
52265230
| all_op { $$ = (Node *)$1; }
52275231
| NumericOnly { $$ = (Node *)$1; }
52285232
| Sconst { $$ = (Node *)makeString($1); }
5229-
//| NONE { $$ = (Node *)makeString(pstrdup($1)); }
5230-
// XXX Temporary
5231-
| TRUE_P { $$ = (Node *)makeBoolAConst(true, @1); }
5232-
| FALSE_P { $$ = (Node *)makeBoolAConst(false, @1); }
5233+
| NONE { $$ = (Node *)makeString(pstrdup($1)); }
52335234
;
52345235

52355236

@@ -8448,7 +8449,7 @@ DefineStmt:
84488449
n->params = $6;
84498450
$$ = (Node *)n;
84508451
}
8451-
/*| CREATE TEXT_P SEARCH PARSER any_name definition
8452+
/*| CREATE TEXT_P SEARCH PARSER any_name definition TODO
84528453
{
84538454
DefineStmt *n = makeNode(DefineStmt);
84548455
n->kind = OBJECT_TSPARSER;
@@ -11032,7 +11033,78 @@ opt_slice_bound:
1103211033
;
1103311034

1103411035

11036+
ConstraintsSetStmt:
11037+
SET CONSTRAINTS constraints_set_list constraints_set_mode
11038+
{
11039+
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
11040+
n->constraints = $3;
11041+
n->deferred = $4;
11042+
$$ = (Node *) n;
11043+
}
11044+
;
11045+
11046+
constraints_set_list:
11047+
ALL { $$ = NIL; }
11048+
| qualified_name_list { $$ = $1; }
11049+
;
11050+
11051+
constraints_set_mode:
11052+
DEFERRED { $$ = true; }
11053+
| IMMEDIATE { $$ = false; }
11054+
;
11055+
11056+
11057+
/*
11058+
* Checkpoint statement
11059+
*/
11060+
CheckPointStmt:
11061+
CHECKPOINT
11062+
{
11063+
CheckPointStmt *n = makeNode(CheckPointStmt);
11064+
$$ = (Node *)n;
11065+
}
11066+
;
11067+
11068+
11069+
/*****************************************************************************
11070+
*
11071+
* DISCARD { ALL | TEMP | PLANS | SEQUENCES }
11072+
*
11073+
*****************************************************************************/
11074+
11075+
DiscardStmt:
11076+
DISCARD ALL
11077+
{
11078+
DiscardStmt *n = makeNode(DiscardStmt);
11079+
n->target = DISCARD_ALL;
11080+
$$ = (Node *) n;
11081+
}
11082+
| DISCARD TEMP
11083+
{
11084+
DiscardStmt *n = makeNode(DiscardStmt);
11085+
n->target = DISCARD_TEMP;
11086+
$$ = (Node *) n;
11087+
}
11088+
| DISCARD TEMPORARY
11089+
{
11090+
DiscardStmt *n = makeNode(DiscardStmt);
11091+
n->target = DISCARD_TEMP;
11092+
$$ = (Node *) n;
11093+
}
11094+
| DISCARD PLANS
11095+
{
11096+
DiscardStmt *n = makeNode(DiscardStmt);
11097+
n->target = DISCARD_PLANS;
11098+
$$ = (Node *) n;
11099+
}
11100+
| DISCARD SEQUENCES
11101+
{
11102+
DiscardStmt *n = makeNode(DiscardStmt);
11103+
n->target = DISCARD_SEQUENCES;
11104+
$$ = (Node *) n;
11105+
}
1103511106

11107+
;
1103611108

1103711109
/*****************************************************************************
1103811110
*

0 commit comments

Comments
 (0)