Use streaming I/O in ANALYZE.
authorThomas Munro
Mon, 8 Apr 2024 01:16:20 +0000 (13:16 +1200)
committerThomas Munro
Mon, 8 Apr 2024 01:16:28 +0000 (13:16 +1200)
commit041b96802efa33d2bc9456f2ad946976b92b5ae1
tree1f345cacb51b566d6c156f673a3804fb00917070
parentf587338dec87d3c35b025e131c5977930ac69077
Use streaming I/O in ANALYZE.

The ANALYZE command prefetches and reads sample blocks chosen by a
BlockSampler algorithm. Instead of calling [Prefetch|Read]Buffer() for
each block, ANALYZE now uses the streaming API introduced in b5a9b18cd0.

Author: Nazir Bilal Yavuz 
Reviewed-by: Melanie Plageman
Reviewed-by: Andres Freund
Reviewed-by: Jakub Wartak
Reviewed-by: Heikki Linnakangas
Reviewed-by: Thomas Munro
Discussion: https://postgr.es/m/flat/CAN55FZ0UhXqk9v3y-zW_fp4-WCp43V8y0A72xPmLkOM%2B6M%2BmJg%40mail.gmail.com
src/backend/access/heap/heapam_handler.c
src/backend/commands/analyze.c
src/include/access/heapam.h