Pass ColumnarScanDesc to ColumnarScanChunkGroupsFiltered

pull/4818/head
Onur Tirtir 2021-08-20 18:18:11 +03:00
parent 4fb05efabb
commit 9cb5ef5007
3 changed files with 9 additions and 6 deletions

View File

@ -821,11 +821,11 @@ static void
ColumnarScan_ExplainCustomScan(CustomScanState *node, List *ancestors, ColumnarScan_ExplainCustomScan(CustomScanState *node, List *ancestors,
ExplainState *es) ExplainState *es)
{ {
TableScanDesc scanDesc = node->ss.ss_currentScanDesc; ColumnarScanDesc columnarScanDesc = (ColumnarScanDesc) node->ss.ss_currentScanDesc;
if (scanDesc != NULL) if (columnarScanDesc != NULL)
{ {
int64 chunkGroupsFiltered = ColumnarScanChunkGroupsFiltered(scanDesc); int64 chunkGroupsFiltered = ColumnarScanChunkGroupsFiltered(columnarScanDesc);
ExplainPropertyInteger("Columnar Chunk Groups Removed by Filter", NULL, ExplainPropertyInteger("Columnar Chunk Groups Removed by Filter", NULL,
chunkGroupsFiltered, es); chunkGroupsFiltered, es);
} }

View File

@ -1843,9 +1843,8 @@ columnar_tableam_finish()
* Get the number of chunks filtered out during the given scan. * Get the number of chunks filtered out during the given scan.
*/ */
int64 int64
ColumnarScanChunkGroupsFiltered(TableScanDesc scanDesc) ColumnarScanChunkGroupsFiltered(ColumnarScanDesc columnarScanDesc)
{ {
ColumnarScanDesc columnarScanDesc = (ColumnarScanDesc) scanDesc;
ColumnarReadState *readState = columnarScanDesc->cs_readState; ColumnarReadState *readState = columnarScanDesc->cs_readState;
/* readState is initialized lazily */ /* readState is initialized lazily */

View File

@ -42,6 +42,10 @@
#define VALID_BLOCKNUMBERS ((uint64) (MaxBlockNumber + 1)) #define VALID_BLOCKNUMBERS ((uint64) (MaxBlockNumber + 1))
struct ColumnarScanDescData;
typedef struct ColumnarScanDescData *ColumnarScanDesc;
const TableAmRoutine * GetColumnarTableAmRoutine(void); const TableAmRoutine * GetColumnarTableAmRoutine(void);
extern void columnar_tableam_init(void); extern void columnar_tableam_init(void);
extern void columnar_tableam_finish(void); extern void columnar_tableam_finish(void);
@ -51,7 +55,7 @@ extern TableScanDesc columnar_beginscan_extended(Relation relation, Snapshot sna
ParallelTableScanDesc parallel_scan, ParallelTableScanDesc parallel_scan,
uint32 flags, Bitmapset *attr_needed, uint32 flags, Bitmapset *attr_needed,
List *scanQual); List *scanQual);
extern int64 ColumnarScanChunkGroupsFiltered(TableScanDesc scanDesc); extern int64 ColumnarScanChunkGroupsFiltered(ColumnarScanDesc columnarScanDesc);
extern bool ColumnarSupportsIndexAM(char *indexAMName); extern bool ColumnarSupportsIndexAM(char *indexAMName);
extern bool IsColumnarTableAmTable(Oid relationId); extern bool IsColumnarTableAmTable(Oid relationId);
extern TableDDLCommand * ColumnarGetTableOptionsDDL(Oid relationId); extern TableDDLCommand * ColumnarGetTableOptionsDDL(Oid relationId);