mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Fix outdated comments regarding TupleTableSlots
The tts_flag is named TTS_FLAG_SHOULDFREE, so use that instead of TTS_SHOULDFREE, which is the name of the macro that checks for that flag. Additionally, 4da597edf got rid of the TupleTableSlot.tts_tuple field but forgot to update a comment which referenced that field. Fix that. Reported-by: Zhen Mingyang <zhenmingyang@yeah.net> Reported-by: Richard Guo <guofenglinux@gmail.com> Discussion: https://postgr.es/m/1a96696c.9d3.187193989c3.Coremail.zhenmingyang@yeah.net
This commit is contained in:
parent
7f5b19817e
commit
902ecd3bd4
@ -385,8 +385,8 @@ tts_heap_materialize(TupleTableSlot *slot)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* The tuple contained in this slot is not allocated in the memory
|
* The tuple contained in this slot is not allocated in the memory
|
||||||
* context of the given slot (else it would have TTS_SHOULDFREE set).
|
* context of the given slot (else it would have TTS_FLAG_SHOULDFREE
|
||||||
* Copy the tuple into the given slot's memory context.
|
* set). Copy the tuple into the given slot's memory context.
|
||||||
*/
|
*/
|
||||||
hslot->tuple = heap_copytuple(hslot->tuple);
|
hslot->tuple = heap_copytuple(hslot->tuple);
|
||||||
}
|
}
|
||||||
@ -554,8 +554,9 @@ tts_minimal_materialize(TupleTableSlot *slot)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* The minimal tuple contained in this slot is not allocated in the
|
* The minimal tuple contained in this slot is not allocated in the
|
||||||
* memory context of the given slot (else it would have TTS_SHOULDFREE
|
* memory context of the given slot (else it would have
|
||||||
* set). Copy the minimal tuple into the given slot's memory context.
|
* TTS_FLAG_SHOULDFREE set). Copy the minimal tuple into the given
|
||||||
|
* slot's memory context.
|
||||||
*/
|
*/
|
||||||
mslot->mintuple = heap_copy_minimal_tuple(mslot->mintuple);
|
mslot->mintuple = heap_copy_minimal_tuple(mslot->mintuple);
|
||||||
}
|
}
|
||||||
|
@ -68,8 +68,8 @@
|
|||||||
* A TupleTableSlot can also be "empty", indicated by flag TTS_FLAG_EMPTY set
|
* A TupleTableSlot can also be "empty", indicated by flag TTS_FLAG_EMPTY set
|
||||||
* in tts_flags, holding no valid data. This is the only valid state for a
|
* in tts_flags, holding no valid data. This is the only valid state for a
|
||||||
* freshly-created slot that has not yet had a tuple descriptor assigned to
|
* freshly-created slot that has not yet had a tuple descriptor assigned to
|
||||||
* it. In this state, TTS_SHOULDFREE should not be set in tts_flags, tts_tuple
|
* it. In this state, TTS_FLAG_SHOULDFREE should not be set in tts_flags and
|
||||||
* must be NULL and tts_nvalid zero.
|
* tts_nvalid should be set to zero.
|
||||||
*
|
*
|
||||||
* The tupleDescriptor is simply referenced, not copied, by the TupleTableSlot
|
* The tupleDescriptor is simply referenced, not copied, by the TupleTableSlot
|
||||||
* code. The caller of ExecSetSlotDescriptor() is responsible for providing
|
* code. The caller of ExecSetSlotDescriptor() is responsible for providing
|
||||||
@ -79,8 +79,8 @@
|
|||||||
* mechanism to do more. However, the slot will increment the tupdesc
|
* mechanism to do more. However, the slot will increment the tupdesc
|
||||||
* reference count if a reference-counted tupdesc is supplied.)
|
* reference count if a reference-counted tupdesc is supplied.)
|
||||||
*
|
*
|
||||||
* When TTS_SHOULDFREE is set in tts_flags, the physical tuple is "owned" by
|
* When TTS_FLAG_SHOULDFREE is set in tts_flags, the physical tuple is "owned"
|
||||||
* the slot and should be freed when the slot's reference to the tuple is
|
* by the slot and should be freed when the slot's reference to the tuple is
|
||||||
* dropped.
|
* dropped.
|
||||||
*
|
*
|
||||||
* tts_values/tts_isnull are allocated either when the slot is created (when
|
* tts_values/tts_isnull are allocated either when the slot is created (when
|
||||||
@ -268,7 +268,7 @@ typedef struct BufferHeapTupleTableSlot
|
|||||||
* If buffer is not InvalidBuffer, then the slot is holding a pin on the
|
* If buffer is not InvalidBuffer, then the slot is holding a pin on the
|
||||||
* indicated buffer page; drop the pin when we release the slot's
|
* indicated buffer page; drop the pin when we release the slot's
|
||||||
* reference to that buffer. (TTS_FLAG_SHOULDFREE should not be set in
|
* reference to that buffer. (TTS_FLAG_SHOULDFREE should not be set in
|
||||||
* such a case, since presumably tts_tuple is pointing into the buffer.)
|
* such a case, since presumably base.tuple is pointing into the buffer.)
|
||||||
*/
|
*/
|
||||||
Buffer buffer; /* tuple's buffer, or InvalidBuffer */
|
Buffer buffer; /* tuple's buffer, or InvalidBuffer */
|
||||||
} BufferHeapTupleTableSlot;
|
} BufferHeapTupleTableSlot;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user