From ffcb90d094079af088b0b9361ad27b2e53b557ee Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sat, 24 Aug 2024 21:42:18 -0700 Subject: [PATCH] Added InitSortState function [skip ci] --- src/ivfscan.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/ivfscan.c b/src/ivfscan.c index a8bea0d..0370b05 100644 --- a/src/ivfscan.c +++ b/src/ivfscan.c @@ -221,6 +221,20 @@ GetScanValue(IndexScanDesc scan) return value; } +/* + * Initialize sort state + */ +static Tuplesortstate * +InitSortState(TupleDesc tupdesc) +{ + AttrNumber attNums[] = {1}; + Oid sortOperators[] = {Float8LessOperator}; + Oid sortCollations[] = {InvalidOid}; + bool nullsFirstFlags[] = {false}; + + return tuplesort_begin_heap(tupdesc, 1, attNums, sortOperators, sortCollations, nullsFirstFlags, work_mem, NULL, false); +} + /* * Prepare for an index scan */ @@ -231,10 +245,6 @@ ivfflatbeginscan(Relation index, int nkeys, int norderbys) IvfflatScanOpaque so; int lists; int dimensions; - AttrNumber attNums[] = {1}; - Oid sortOperators[] = {Float8LessOperator}; - Oid sortCollations[] = {InvalidOid}; - bool nullsFirstFlags[] = {false}; int probes = ivfflat_probes; scan = RelationGetIndexScan(index, nkeys, norderbys); @@ -262,7 +272,7 @@ ivfflatbeginscan(Relation index, int nkeys, int norderbys) TupleDescInitEntry(so->tupdesc, (AttrNumber) 2, "heaptid", TIDOID, -1, 0); /* Prep sort */ - so->sortstate = tuplesort_begin_heap(so->tupdesc, 1, attNums, sortOperators, sortCollations, nullsFirstFlags, work_mem, NULL, false); + so->sortstate = InitSortState(so->tupdesc); so->slot = MakeSingleTupleTableSlot(so->tupdesc, &TTSOpsMinimalTuple);