From 4d98c30c0ab1d60178e9f050491512b691b94b37 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 9 May 2020 11:01:31 +0200 Subject: [PATCH v1 3/6] Remove deprecated syntax from CREATE/DROP LANGUAGE Remove the option to specify the language name as a single-quoted string. This has been obsolete since ee8ed85da3b. Removing it allows better grammar refactoring. The syntax of the CREATE FUNCTION LANGUAGE clause is not changed. --- doc/src/sgml/ref/create_language.sgml | 5 ----- doc/src/sgml/ref/drop_language.sgml | 3 +-- src/backend/parser/gram.y | 8 ++++---- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/doc/src/sgml/ref/create_language.sgml b/doc/src/sgml/ref/create_language.sgml index 2243ee6a6c..a457e2558c 100644 --- a/doc/src/sgml/ref/create_language.sgml +++ b/doc/src/sgml/ref/create_language.sgml @@ -110,11 +110,6 @@ Parameters The name of the new procedural language. The name must be unique among the languages in the database. - - - For backward compatibility, the name can be enclosed by single - quotes. - diff --git a/doc/src/sgml/ref/drop_language.sgml b/doc/src/sgml/ref/drop_language.sgml index 976f3a0ce1..4705836ac7 100644 --- a/doc/src/sgml/ref/drop_language.sgml +++ b/doc/src/sgml/ref/drop_language.sgml @@ -63,8 +63,7 @@ Parameters name - The name of an existing procedural language. For backward - compatibility, the name can be enclosed by single quotes. + The name of an existing procedural language. diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index f00526e9c6..9af37b2c3d 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -4351,7 +4351,7 @@ NumericOnly_list: NumericOnly { $$ = list_make1($1); } *****************************************************************************/ CreatePLangStmt: - CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst + CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name { /* * We now interpret parameterless CREATE LANGUAGE as @@ -4366,7 +4366,7 @@ CreatePLangStmt: n->options = NIL; $$ = (Node *)n; } - | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE NonReservedWord_or_Sconst + | CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator { CreatePLangStmt *n = makeNode(CreatePLangStmt); @@ -4410,7 +4410,7 @@ opt_validator: ; DropPLangStmt: - DROP opt_procedural LANGUAGE NonReservedWord_or_Sconst opt_drop_behavior + DROP opt_procedural LANGUAGE name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->removeType = OBJECT_LANGUAGE; @@ -4420,7 +4420,7 @@ DropPLangStmt: n->concurrent = false; $$ = (Node *)n; } - | DROP opt_procedural LANGUAGE IF_P EXISTS NonReservedWord_or_Sconst opt_drop_behavior + | DROP opt_procedural LANGUAGE IF_P EXISTS name opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->removeType = OBJECT_LANGUAGE; -- 2.26.2