[prev] 55 [next]

Scanning in PostgreSQL

Scanning defined in: backend/access/heap/heapam.c

Implements iterator data/operations:

  • HeapScanDesc ... struct containing iteration state
  • scan = heap_beginscan(rel,...,nkeys,keys)
  • tup = heap_getnext(scan, direction)
  • heap_endscan(scan) ... frees up scan struct
  • res = HeapKeyTest(tuple,...,nkeys,keys)
    ... performs ScanKeys tests on tuple ... is it a result tuple?