1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00

Make SET SESSION CHARACTERISTICS compliant with SQL 99. Remove redundant,

non-standard clauses.  Allow CHARACTERISTICS as unquoted identifier.
Merge related reference pages.
This commit is contained in:
Peter Eisentraut
2000-11-24 20:16:40 +00:00
parent f1ddc19b10
commit 5b00ea9e50
9 changed files with 37 additions and 230 deletions

View File

@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: analyze.c,v 1.167 2000/11/18 16:17:20 petere Exp $
* $Id: analyze.c,v 1.168 2000/11/24 20:16:39 petere Exp $
*
*-------------------------------------------------------------------------
*/
@ -208,38 +208,6 @@ transformStmt(ParseState *pstate, Node *parseTree)
result = transformAlterTableStmt(pstate, (AlterTableStmt *) parseTree);
break;
case T_SetSessionStmt:
{
List *l;
/* Session is a list of SetVariable nodes
* so just run through the list.
*/
SetSessionStmt *stmt = (SetSessionStmt *) parseTree;
l = stmt->args;
/* First check for duplicate keywords (disallowed by SQL99) */
while (l != NULL)
{
VariableSetStmt *v = (VariableSetStmt *) lfirst(l);
List *ll = lnext(l);
while (ll != NULL)
{
VariableSetStmt *vv = (VariableSetStmt *) lfirst(ll);
if (strcmp(v->name, vv->name) == 0)
elog(ERROR, "SET SESSION CHARACTERISTICS duplicated entry not allowed");
ll = lnext(ll);
}
l = lnext(l);
}
l = stmt->args;
result = transformStmt(pstate, lfirst(l));
l = lnext(l);
if (l != NULL)
extras_after = lappend(extras_after, lfirst(l));
}
break;
/*------------------------
* Optimizable statements
*------------------------