*** pgsql/src/backend/optimizer/util/pathnode.c 2009/06/11 14:48:59 1.152 --- pgsql/src/backend/optimizer/util/pathnode.c 2009/09/12 22:12:04 1.153 *************** *** 8,14 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.151 2009/03/26 17:15:35 tgl Exp $ * *------------------------------------------------------------------------- */ --- 8,14 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.152 2009/06/11 14:48:59 momjian Exp $ * *------------------------------------------------------------------------- */ *************** create_material_path(RelOptInfo *rel, Pa *** 711,716 **** --- 711,717 ---- pathnode->subpath = subpath; cost_material(&pathnode->path, + subpath->startup_cost, subpath->total_cost, rel->rows, rel->width); *************** create_mergejoin_path(PlannerInfo *root, *** 1424,1430 **** * cost_mergejoin will avoid choosing anyway). Therefore * cost_material's cost estimate is bogus and we should charge just * cpu_tuple_cost per tuple. (Keep this estimate in sync with similar ! * ones in cost_mergejoin and create_mergejoin_plan.) */ mpath->startup_cost = inner_path->startup_cost; mpath->total_cost = inner_path->total_cost; --- 1425,1432 ---- * cost_mergejoin will avoid choosing anyway). Therefore * cost_material's cost estimate is bogus and we should charge just * cpu_tuple_cost per tuple. (Keep this estimate in sync with similar ! * ones in cost_mergejoin and create_mergejoin_plan; also see ! * cost_rescan.) */ mpath->startup_cost = inner_path->startup_cost; mpath->total_cost = inner_path->total_cost;