summaryrefslogtreecommitdiff
path: root/src/include/nodes
diff options
context:
space:
mode:
authorTom Lane2003-11-09 21:30:38 +0000
committerTom Lane2003-11-09 21:30:38 +0000
commitc1d62bfd00f4d1ea0647e12947ca1de9fea39b33 (patch)
tree1afdccb5267627182cab94b347730657107ad6eb /src/include/nodes
parent723825afebb6de7212fa18882bcc78212d5c1743 (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.h14
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;
/* ----------------