Remove deprecated syntax from CREATE/DROP LANGUAGE
authorPeter Eisentraut
Thu, 11 Jun 2020 08:26:12 +0000 (10:26 +0200)
committerPeter Eisentraut
Thu, 11 Jun 2020 08:26:12 +0000 (10:26 +0200)
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.

Discussion: https://www.postgresql.org/message-id/flat/163c00a5-f634-ca52-fc7c-0e53deda8735%402ndquadrant.com

doc/src/sgml/ref/create_language.sgml
doc/src/sgml/ref/drop_language.sgml
src/backend/parser/gram.y

index 44d14c0ba72556591f08d8343cd513a08aad3c68..10d1533d6d8c98e4dbb9030557c3599af5dc061a 100644 (file)
@@ -110,11 +110,6 @@ CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE 
        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.
-      
      
     
 
index 976f3a0ce1a5d3c0b32d2ad7a605a88026f92931..4705836ac79e811f35e74ed750102835b3b1acdc 100644 (file)
@@ -63,8 +63,7 @@ DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name
     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.
      
     
    
index 6797d550cd0cb4789a0d2bd238187b4cf2df0080..0f0f7a328b7dce0f3ae7abc9a9128d46455369d8 100644 (file)
@@ -4346,7 +4346,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
@@ -4361,7 +4361,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);
@@ -4405,7 +4405,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;
@@ -4415,7 +4415,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;