From 01d9754bd9c535fd0a6b859acda01359db0eb6a2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 28 Jan 2007 18:50:48 +0000 Subject: Repair oversight in creation of "append relations": we should set up rel->tuples as well as rel->rows, since some estimation functions expect both to be valid in every baserel. Per report from Dave Dutcher. --- src/backend/optimizer/path/allpaths.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 12da0781a0..1e195398f3 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.154 2006/10/04 00:29:53 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.154.2.1 2007/01/28 18:50:48 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -383,6 +383,12 @@ set_append_rel_pathlist(PlannerInfo *root, RelOptInfo *rel, } } + /* + * Set "raw tuples" count equal to "rows" for the appendrel; needed + * because some places assume rel->tuples is valid for any baserel. + */ + rel->tuples = rel->rows; + /* * Finally, build Append path and install it as the only access path for * the parent rel. (Note: this is correct even if we have zero or one -- cgit v1.2.1