1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

Defend against null input in analyze_requires_snapshot(), per report

from Rushabh Lathia.

Back-patch of patch of 2009-01-08.  This is necessary in 8.3, as reported
by Bjorn Munch.  It's not currently necessary in 8.2, AFAICS, but seems
best to include it there too.
This commit is contained in:
Tom Lane
2009-01-30 16:59:10 +00:00
parent 5298d511ee
commit b1abb3340b

View File

@ -17,7 +17,7 @@
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.371.2.1 2008/12/13 02:00:29 tgl Exp $ * $PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.371.2.2 2009/01/30 16:59:10 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -232,13 +232,17 @@ transformStmt(ParseState *pstate, Node *parseTree)
* Returns true if a snapshot must be set before doing parse analysis * Returns true if a snapshot must be set before doing parse analysis
* on the given raw parse tree. * on the given raw parse tree.
* *
* Classification here should match transformStmt(). * Classification here should match transformStmt(); but we also have to
* allow a NULL input (for Parse/Bind of an empty query string).
*/ */
bool bool
analyze_requires_snapshot(Node *parseTree) analyze_requires_snapshot(Node *parseTree)
{ {
bool result; bool result;
if (parseTree == NULL)
return false;
switch (nodeTag(parseTree)) switch (nodeTag(parseTree))
{ {
/* /*