summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2018-09-26 11:26:24 +0000
committerPeter Eisentraut2018-09-26 11:26:24 +0000
commita49ceda6a044c2fc104b3d1397fe0bef8679d1aa (patch)
treec7a7a4de9cf21709076f8f441d993aa506a33dc8
parenta3d2844852dc664718320b15cbc6d6bfa264e66e (diff)
Update dummy CREATE ASSERTION grammar
While we are probably still far away from fully implementing assertions, all patch proposals appear to take issue with the existing dummy grammar CREATE/DROP ASSERTION productions, so update those a little bit. Rename the rule, use any_name instead of name, and remove some unused code. Also remove the production for DROP ASSERTION, since that would most likely be handled via the generic DROP support. extracted from a patch by Joe Wildish
-rw-r--r--src/backend/parser/gram.y39
1 files changed, 7 insertions, 32 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 4bd2223f267..d41eecd5bd5 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -259,11 +259,11 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
CreateOpFamilyStmt AlterOpFamilyStmt CreatePLangStmt
CreateSchemaStmt CreateSeqStmt CreateStmt CreateStatsStmt CreateTableSpaceStmt
CreateFdwStmt CreateForeignServerStmt CreateForeignTableStmt
- CreateAssertStmt CreateTransformStmt CreateTrigStmt CreateEventTrigStmt
+ CreateAssertionStmt CreateTransformStmt CreateTrigStmt CreateEventTrigStmt
CreateUserStmt CreateUserMappingStmt CreateRoleStmt CreatePolicyStmt
CreatedbStmt DeclareCursorStmt DefineStmt DeleteStmt DiscardStmt DoStmt
DropOpClassStmt DropOpFamilyStmt DropPLangStmt DropStmt
- DropAssertStmt DropCastStmt DropRoleStmt
+ DropCastStmt DropRoleStmt
DropdbStmt DropTableSpaceStmt
DropTransformStmt
DropUserMappingStmt ExplainStmt FetchStmt
@@ -860,7 +860,7 @@ stmt :
| CopyStmt
| CreateAmStmt
| CreateAsStmt
- | CreateAssertStmt
+ | CreateAssertionStmt
| CreateCastStmt
| CreateConversionStmt
| CreateDomainStmt
@@ -896,7 +896,6 @@ stmt :
| DeleteStmt
| DiscardStmt
| DoStmt
- | DropAssertStmt
| DropCastStmt
| DropOpClassStmt
| DropOpFamilyStmt
@@ -5639,43 +5638,19 @@ enable_trigger:
/*****************************************************************************
*
- * QUERIES :
+ * QUERY :
* CREATE ASSERTION ...
- * DROP ASSERTION ...
*
*****************************************************************************/
-CreateAssertStmt:
- CREATE ASSERTION name CHECK '(' a_expr ')'
- ConstraintAttributeSpec
+CreateAssertionStmt:
+ CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec
{
- CreateTrigStmt *n = makeNode(CreateTrigStmt);
- n->trigname = $3;
- n->args = list_make1($6);
- n->isconstraint = true;
- processCASbits($8, @8, "ASSERTION",
- &n->deferrable, &n->initdeferred, NULL,
- NULL, yyscanner);
-
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
- $$ = (Node *)n;
- }
- ;
-
-DropAssertStmt:
- DROP ASSERTION name opt_drop_behavior
- {
- DropStmt *n = makeNode(DropStmt);
- n->objects = NIL;
- n->behavior = $4;
- n->removeType = OBJECT_TRIGGER; /* XXX */
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("DROP ASSERTION is not yet implemented")));
- $$ = (Node *) n;
+ $$ = NULL;
}
;