v1-0003-Remove-deprecated-syntax-from-CREATE-DROP-LANGUAG.patch

text/plain

Filename: v1-0003-Remove-deprecated-syntax-from-CREATE-DROP-LANGUAG.patch
Type: text/plain
Part: 2
Message: some grammar refactoring

Patch

Format: format-patch
Series: patch v1-0003
Subject: Remove deprecated syntax from CREATE/DROP LANGUAGE
File+
doc/src/sgml/ref/create_language.sgml 0 5
doc/src/sgml/ref/drop_language.sgml 1 2
src/backend/parser/gram.y 4 4
From 4d98c30c0ab1d60178e9f050491512b691b94b37 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
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 @@ <title>Parameters</title>
        The name of the new procedural language.
        The name must be unique among the languages in the database.
       </para>
-
-      <para>
-       For backward compatibility, the name can be enclosed by single
-       quotes.
-      </para>
      </listitem>
     </varlistentry>
 
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 @@ <title>Parameters</title>
     <term><replaceable class="parameter">name</replaceable></term>
     <listitem>
      <para>
-      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.
      </para>
     </listitem>
    </varlistentry>
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