mirror of
https://github.com/postgres/postgres.git
synced 2026-01-29 12:02:15 +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:
@@ -68,8 +68,8 @@
|
||||
* 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
|
||||
* 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
|
||||
* must be NULL and tts_nvalid zero.
|
||||
* it. In this state, TTS_FLAG_SHOULDFREE should not be set in tts_flags and
|
||||
* tts_nvalid should be set to zero.
|
||||
*
|
||||
* The tupleDescriptor is simply referenced, not copied, by the TupleTableSlot
|
||||
* code. The caller of ExecSetSlotDescriptor() is responsible for providing
|
||||
@@ -79,8 +79,8 @@
|
||||
* mechanism to do more. However, the slot will increment the tupdesc
|
||||
* reference count if a reference-counted tupdesc is supplied.)
|
||||
*
|
||||
* When TTS_SHOULDFREE is set in tts_flags, the physical tuple is "owned" by
|
||||
* the slot and should be freed when the slot's reference to the tuple is
|
||||
* When TTS_FLAG_SHOULDFREE is set in tts_flags, the physical tuple is "owned"
|
||||
* by the slot and should be freed when the slot's reference to the tuple is
|
||||
* dropped.
|
||||
*
|
||||
* 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
|
||||
* indicated buffer page; drop the pin when we release the slot's
|
||||
* 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 */
|
||||
} BufferHeapTupleTableSlot;
|
||||
|
||||
Reference in New Issue
Block a user