In the context of an index scan, what does NoMovementScanDirection indicate? On the one hand, relation.h comments:
* 'indexscandir' is one of: * ForwardScanDirection: forward scan of an ordered index * BackwardScanDirection: backward scan of an ordered index * NoMovementScanDirection: scan of an unordered index, or don't care * (The executor doesn't care whether it gets ForwardScanDirection or * NoMovementScanDirection for an indexscan, but the planner wants to * distinguish ordered from unordered indexes for building pathkeys.) But ExecutorRun() does not invoke ExecutePlan() if the scan direction is NoMovementScanDirection (and IndexNext() derives its scan direction from the scan direction that ExecutePlan() sets in the EState). Are there any situations in which, as the relation.h comment seems to suggest, an index scan will be invoked with NoMovementScanDirection? (I ask because gistscancache() is a no-op unless the index scan is invoked with the NoMovementScanDirection, so it seems of dubious value...) -Neil ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html