diff options
| author | Tom Lane | 2003-11-09 21:30:38 +0000 |
|---|---|---|
| committer | Tom Lane | 2003-11-09 21:30:38 +0000 |
| commit | c1d62bfd00f4d1ea0647e12947ca1de9fea39b33 (patch) | |
| tree | 1afdccb5267627182cab94b347730657107ad6eb /src/include/nodes | |
| parent | 723825afebb6de7212fa18882bcc78212d5c1743 (diff) | |
Add operator strategy and comparison-value datatype fields to ScanKey.
Remove the 'strategy map' code, which was a large amount of mechanism
that no longer had any use except reverse-mapping from procedure OID to
strategy number. Passing the strategy number to the index AM in the
first place is simpler and faster.
This is a preliminary step in planned support for cross-datatype index
operations. I'm committing it now since the ScanKeyEntryInitialize()
API change touches quite a lot of files, and I want to commit those
changes before the tree drifts under me.
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/plannodes.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index f56dc4653de..2312c0562e3 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: plannodes.h,v 1.68 2003/08/08 21:42:48 momjian Exp $ + * $Id: plannodes.h,v 1.69 2003/11/09 21:30:37 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -153,15 +153,19 @@ typedef Scan SeqScan; /* ---------------- * index scan node + * + * Note: this can actually represent N indexscans, all on the same table + * but potentially using different indexes, put together with OR semantics. * ---------------- */ typedef struct IndexScan { Scan scan; - List *indxid; - List *indxqual; - List *indxqualorig; - ScanDirection indxorderdir; + List *indxid; /* list of index OIDs (1 per scan) */ + List *indxqual; /* list of sublists of index quals */ + List *indxqualorig; /* the same in original form */ + List *indxstrategy; /* list of sublists of strategy numbers */ + ScanDirection indxorderdir; /* forward or backward or don't care */ } IndexScan; /* ---------------- |
