1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-05 09:19:17 +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:16 +00:00
parent fbb70ccd60
commit e06e3d3810

View File

@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2006, 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.353.2.2 2008/12/13 02:00:52 tgl Exp $ * $PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.353.2.3 2009/01/30 16:59:16 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -437,13 +437,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))
{ {
/* /*