diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-06-12 19:27:41 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-06-12 19:27:41 +0000 |
commit | acf242da971bdb2b47c5e23196b63ed079420b29 (patch) | |
tree | 64d81e1703bba73f214a7027b013088f3e56a2ff /src | |
parent | 1918a1d1911a7e8bd6bd6c835bf127b4da741f7b (diff) | |
download | postgresql-acf242da971bdb2b47c5e23196b63ed079420b29.tar.gz postgresql-acf242da971bdb2b47c5e23196b63ed079420b29.zip |
Plug hole in dike: planner would coredump if query_planner
returned NULL, which it will do in some cases where an elog(ERROR) would
probably be more appropriate. For the moment, generate a not-very-
informative error message rather than proceeding to certain coredump.
Probably ought to think about making query_planner elog instead of
returning NULL, but this is at least a safe change for now.
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/optimizer/plan/planner.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 6dc76f0fa2d..ef2e8ca00b0 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.55 1999/06/06 17:38:10 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.56 1999/06/12 19:27:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -223,6 +223,10 @@ union_planner(Query *parse) pfree(vpm); } + /* query_planner returns NULL if it thinks plan is bogus */ + if (! result_plan) + elog(ERROR, "union_planner: failed to create plan"); + /* * If we have a GROUP BY clause, insert a group node (with the * appropriate sort node.) |