aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2024-08-09 07:17:15 +0200
committerPeter Eisentraut <peter@eisentraut.org>2024-08-09 07:18:51 +0200
commit7da1bdc2c2f17038f2ae1900be90a0d7b5e361e0 (patch)
tree2fb2163ad7bf9a891ce03a2cebc069f567af5d2d /src
parent701cf1e3174d560a19c019f1085c73ef667acf2d (diff)
downloadpostgresql-7da1bdc2c2f17038f2ae1900be90a0d7b5e361e0.tar.gz
postgresql-7da1bdc2c2f17038f2ae1900be90a0d7b5e361e0.zip
Remove obsolete RECHECK keyword completely
This used to be part of CREATE OPERATOR CLASS and ALTER OPERATOR FAMILY, but it has done nothing (except issue a NOTICE) since PostgreSQL 8.4. Commit 30e7c175b81 removed support for dumping from pre-9.2 servers, so this no longer serves any need. This now removes it completely, and you'd get a normal parse error if you used it. Reviewed-by: Aleksander Alekseev <aleksander@timescale.com> Discussion: https://www.postgresql.org/message-id/flat/113ef2d2-3657-4353-be97-f28fceddbca1%40eisentraut.org
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/gram.y26
-rw-r--r--src/include/parser/kwlist.h1
-rw-r--r--src/test/isolation/specs/merge-match-recheck.spec2
3 files changed, 4 insertions, 25 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index a043fd4c669..c3f25582c38 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -495,7 +495,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
%type <boolean> opt_instead
%type <boolean> opt_unique opt_verbose opt_full
-%type <boolean> opt_freeze opt_analyze opt_default opt_recheck
+%type <boolean> opt_freeze opt_analyze opt_default
%type <defelt> opt_binary copy_delimiter
%type <boolean> copy_from opt_program
@@ -770,7 +770,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
QUOTE QUOTES
- RANGE READ REAL REASSIGN RECHECK RECURSIVE REF_P REFERENCES REFERENCING
+ RANGE READ REAL REASSIGN RECURSIVE REF_P REFERENCES REFERENCING
REFRESH REINDEX RELATIVE_P RELEASE RENAME REPEATABLE REPLACE REPLICA
RESET RESTART RESTRICT RETURN RETURNING RETURNS REVOKE RIGHT ROLE ROLLBACK ROLLUP
ROUTINE ROUTINES ROW ROWS RULE
@@ -6622,7 +6622,7 @@ opclass_item_list:
;
opclass_item:
- OPERATOR Iconst any_operator opclass_purpose opt_recheck
+ OPERATOR Iconst any_operator opclass_purpose
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
ObjectWithArgs *owa = makeNode(ObjectWithArgs);
@@ -6636,7 +6636,6 @@ opclass_item:
$$ = (Node *) n;
}
| OPERATOR Iconst operator_with_argtypes opclass_purpose
- opt_recheck
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
@@ -6688,23 +6687,6 @@ opclass_purpose: FOR SEARCH { $$ = NIL; }
| /*EMPTY*/ { $$ = NIL; }
;
-opt_recheck: RECHECK
- {
- /*
- * RECHECK no longer does anything in opclass definitions,
- * but we still accept it to ease porting of old database
- * dumps.
- */
- ereport(NOTICE,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("RECHECK is no longer required"),
- errhint("Update your data type."),
- parser_errposition(@1)));
- $$ = true;
- }
- | /*EMPTY*/ { $$ = false; }
- ;
-
CreateOpFamilyStmt:
CREATE OPERATOR FAMILY any_name USING name
@@ -17784,7 +17766,6 @@ unreserved_keyword:
| RANGE
| READ
| REASSIGN
- | RECHECK
| RECURSIVE
| REF_P
| REFERENCING
@@ -18414,7 +18395,6 @@ bare_label_keyword:
| READ
| REAL
| REASSIGN
- | RECHECK
| RECURSIVE
| REF_P
| REFERENCES
diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h
index f7fe834cf45..bb191b1f469 100644
--- a/src/include/parser/kwlist.h
+++ b/src/include/parser/kwlist.h
@@ -363,7 +363,6 @@ PG_KEYWORD("range", RANGE, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("read", READ, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("real", REAL, COL_NAME_KEYWORD, BARE_LABEL)
PG_KEYWORD("reassign", REASSIGN, UNRESERVED_KEYWORD, BARE_LABEL)
-PG_KEYWORD("recheck", RECHECK, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("recursive", RECURSIVE, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("ref", REF_P, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("references", REFERENCES, RESERVED_KEYWORD, BARE_LABEL)
diff --git a/src/test/isolation/specs/merge-match-recheck.spec b/src/test/isolation/specs/merge-match-recheck.spec
index 298b2bfdcd6..26266b8c297 100644
--- a/src/test/isolation/specs/merge-match-recheck.spec
+++ b/src/test/isolation/specs/merge-match-recheck.spec
@@ -1,4 +1,4 @@
-# MERGE MATCHED RECHECK
+# MERGE MATCHED recheck
#
# This test looks at what happens when we have complex
# WHEN MATCHED AND conditions and a concurrent UPDATE causes a