btree: Support parallel index scans.
This isn't exposed to the optimizer or the executor yet; we'll add support for those things in a separate patch. But this puts the basic mechanism in place: several processes can attach to a parallel btree index scan, and each one will get a subset of the tuples that would have been produced by a non-parallel scan. Each index page becomes the responsibility of a single worker, which then returns all of the TIDs on that page. Rahila Syed, Amit Kapila, Robert Haas, reviewed and tested by Anastasia Lubennikova, Tushar Ahuja, and Haribabu Kommi.
Showing
- doc/src/sgml/monitoring.sgml 5 additions, 1 deletiondoc/src/sgml/monitoring.sgml
- src/backend/access/nbtree/nbtree.c 256 additions, 3 deletionssrc/backend/access/nbtree/nbtree.c
- src/backend/access/nbtree/nbtsearch.c 241 additions, 45 deletionssrc/backend/access/nbtree/nbtsearch.c
- src/backend/access/nbtree/nbtutils.c 4 additions, 0 deletionssrc/backend/access/nbtree/nbtutils.c
- src/backend/postmaster/pgstat.c 3 additions, 0 deletionssrc/backend/postmaster/pgstat.c
- src/include/access/nbtree.h 14 additions, 1 deletionsrc/include/access/nbtree.h
- src/include/pgstat.h 1 addition, 0 deletionssrc/include/pgstat.h
- src/tools/pgindent/typedefs.list 3 additions, 0 deletionssrc/tools/pgindent/typedefs.list
Loading
Please register or sign in to comment