mirror of
https://github.com/postgres/postgres.git
synced 2025-08-22 21:53:06 +03:00
Add optional compression method to SP-GiST
Patch allows to have different types of column and value stored in leaf tuples of SP-GiST. The main application of feature is to transform complex column type to simple indexed type or for truncating too long value, transformation could be lossy. Simple example: polygons are converted to their bounding boxes, this opclass follows. Authors: me, Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov Reviewed-By: all authors + Darafei Praliaskouski Discussions: https://www.postgresql.org/message-id/5447B3FF.2080406@sigaev.ru https://www.postgresql.org/message-id/flat/54907069.1030506@sigaev.ru#54907069.1030506@sigaev.ru
This commit is contained in:
@@ -40,7 +40,7 @@ typedef struct ScanStackEntry
|
||||
static void
|
||||
freeScanStackEntry(SpGistScanOpaque so, ScanStackEntry *stackEntry)
|
||||
{
|
||||
if (!so->state.attType.attbyval &&
|
||||
if (!so->state.attLeafType.attbyval &&
|
||||
DatumGetPointer(stackEntry->reconstructedValue) != NULL)
|
||||
pfree(DatumGetPointer(stackEntry->reconstructedValue));
|
||||
if (stackEntry->traversalValue)
|
||||
@@ -527,8 +527,8 @@ redirect:
|
||||
if (out.reconstructedValues)
|
||||
newEntry->reconstructedValue =
|
||||
datumCopy(out.reconstructedValues[i],
|
||||
so->state.attType.attbyval,
|
||||
so->state.attType.attlen);
|
||||
so->state.attLeafType.attbyval,
|
||||
so->state.attLeafType.attlen);
|
||||
else
|
||||
newEntry->reconstructedValue = (Datum) 0;
|
||||
|
||||
|
Reference in New Issue
Block a user