From fa559a86eec2ae90fd63fd7e6563e42f7dc619e0 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 5 Jan 2004 23:39:54 +0000 Subject: Adjust indexscan planning logic to keep RestrictInfo nodes associated with index qual clauses in the Path representation. This saves a little work during createplan and (probably more importantly) allows reuse of cached selectivity estimates during indexscan planning. Also fix latent bug: wrong plan would have been generated for a 'special operator' used in a nestloop-inner-indexscan join qual, because the special operator would not have gotten into the list of quals to recheck. This bug is only latent because at present the special-operator code could never trigger on a join qual, but sooner or later someone will want to do it. --- src/include/optimizer/paths.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/include/optimizer/paths.h') diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h index e1a46bcb3f8..40f7206fac3 100644 --- a/src/include/optimizer/paths.h +++ b/src/include/optimizer/paths.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/optimizer/paths.h,v 1.72 2004/01/05 05:07:36 tgl Exp $ + * $PostgreSQL: pgsql/src/include/optimizer/paths.h,v 1.73 2004/01/05 23:39:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -44,6 +44,8 @@ extern List *group_clauses_by_indexkey_for_or(RelOptInfo *rel, extern List *expand_indexqual_conditions(IndexOptInfo *index, List *clausegroups); extern void check_partial_indexes(Query *root, RelOptInfo *rel); +extern List *flatten_clausegroups_list(List *clausegroups); +extern Expr *make_expr_from_indexclauses(List *indexclauses); /* * orindxpath.c -- cgit v1.2.3