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>
<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>
*****************************************************************************/
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
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);
;
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;
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;