From 2b8758a3891414d141c45179e0cb9b32a199b5b5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 28 Jan 2007 18:50:40 +0000 Subject: [PATCH] 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 cbe78c3abd..43891a1845 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.157 2007/01/20 20:45:38 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/path/allpaths.c,v 1.158 2007/01/28 18:50:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -393,6 +393,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 -- 2.40.0