diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-04-11 23:06:57 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-04-11 23:06:57 +0000 |
| commit | addc42c339208d6a7a1d652fbf388e8aea7f80b9 (patch) | |
| tree | e349d31f2ae1006ed4078b811dae8d842e00d969 /src/include/optimizer/paths.h | |
| parent | c3294f1cbfe02293b4a7c6b2e58ca4c09a7e541f (diff) | |
| download | postgresql-addc42c339208d6a7a1d652fbf388e8aea7f80b9.tar.gz | |
Create the planner mechanism for optimizing simple MIN and MAX queries
into indexscans on matching indexes. For the moment, it only handles
int4 and text datatypes; next step is to add a column to pg_aggregate
so that all MIN/MAX aggregates can be handled. Per my recent proposal.
Diffstat (limited to 'src/include/optimizer/paths.h')
| -rw-r--r-- | src/include/optimizer/paths.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/optimizer/paths.h b/src/include/optimizer/paths.h index 28c44444d7..e5ca24807d 100644 --- a/src/include/optimizer/paths.h +++ b/src/include/optimizer/paths.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/optimizer/paths.h,v 1.80 2005/03/27 06:29:49 tgl Exp $ + * $PostgreSQL: pgsql/src/include/optimizer/paths.h,v 1.81 2005/04/11 23:06:56 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -38,8 +38,11 @@ extern void debug_print_rel(Query *root, RelOptInfo *rel); extern void create_index_paths(Query *root, RelOptInfo *rel); extern Path *best_inner_indexscan(Query *root, RelOptInfo *rel, Relids outer_relids, JoinType jointype); +extern List *group_clauses_by_indexkey(IndexOptInfo *index); extern List *group_clauses_by_indexkey_for_or(IndexOptInfo *index, Expr *orsubclause); +extern bool match_index_to_operand(Node *operand, int indexcol, + IndexOptInfo *index); extern List *expand_indexqual_conditions(IndexOptInfo *index, List *clausegroups); extern void check_partial_indexes(Query *root, RelOptInfo *rel); |
