7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.65 1999/07/29 02:48:05 tgl Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/createplan.c,v 1.66 1999/07/30 00:44:23 tgl Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -296,10 +296,13 @@ create_seqscan_node(Path *best_path, List *tlist, List *scan_clauses)
296
296
* Returns a indexscan node for the base relation scanned by 'best_path'
297
297
* with restriction clauses 'scan_clauses' and targetlist 'tlist'.
298
298
*
299
- * If an 'or' clause is to be used with this index, the indxqual field
300
- * will contain a list of the 'or' clause arguments, e.g., the
301
- * clause(OR a b c) will generate: ((a) (b) (c)). Otherwise, the
302
- * indxqual will simply contain one conjunctive qualification: ((a)).
299
+ * The indexqual of the path contains a sublist of implicitly-ANDed qual
300
+ * conditions for each scan of the index(es); if there is more than one
301
+ * scan then the retrieved tuple sets are ORed together. The indexqual
302
+ * and indexid lists must have the same length, ie, the number of scans
303
+ * that will occur. Note it is possible for a qual condition sublist
304
+ * to be empty --- then no index restrictions will be applied during that
305
+ * scan.
303
306
*/
304
307
static IndexScan *
305
308
create_indexscan_node (IndexPath * best_path ,
@@ -316,7 +319,7 @@ create_indexscan_node(IndexPath *best_path,
316
319
/* there should be exactly one base rel involved... */
317
320
Assert (length (best_path -> path .parent -> relids ) == 1 );
318
321
319
- /* check and see if any indices are lossy */
322
+ /* check and see if any of the indices are lossy */
320
323
foreach (ixid , best_path -> indexid )
321
324
{
322
325
HeapTuple indexTuple ;
0 commit comments