Re: lifetime of TubleTableSlot* returned by ExecProcNode

From: "Bramandia Ramadhana" <bramandia(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: lifetime of TubleTableSlot* returned by ExecProcNode
Date: 2008-12-16 05:45:06
Message-ID: 700260640812152145j507a2f4ejb63838207a29c1cc@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

After reading the source code for nodeHash.c and tuplesort.c, I decided to
create new struct containing MinimumTuple and few members.

I am still wondering in one thing:
typedef struct HashJoinTupleData
{
struct HashJoinTupleData *next; /* link to next tuple in same
bucket */
uint32 hashvalue; /* tuple's hash code */
/* Tuple data, in MinimalTuple format, follows on a MAXALIGN boundary */
} HashJoinTupleData;

typedef struct
{
void *tuple; /* the tuple proper */
Datum datum1; /* value of first key column */
bool isnull1; /* is first key column NULL? */
int tupindex; /* see notes above */
} SortTuple;

In HashJoinTupleData, the MinimalTupleData is appended at the end of the
struct whereas in SortTuple, a pointer to MinimalTupleData is stored in
tuple member.
What are the reasons for the difference? And when does one approach is more
preferable than another?

Regards,

Bramandia R.

On Sat, Dec 13, 2008 at 10:36 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> "Bramandia Ramadhana" <bramandia(at)gmail(dot)com> writes:
> > Hmm how if an upper level node needs to store (for future use) the
> > TupleTableSlot* returned by lower level node, e.g. I create a specialized
> > Sort Node which needs to read all tuples from lower level nodes. In this
> > case, would it be necessary and sufficient to make a copy the
> TupleTableSlot
>
> It would be a pretty crummy way to approach it, because a Slot is not
> intended to be a compact representation. You probably want to use a
> tuplestore or tuplesort object instead.
>
> regards, tom lane
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message sai srujan 2008-12-16 06:01:36 How to insert the values of .sql file (dump file) into postgresql 8.1
Previous Message Fujii Masao 2008-12-16 05:27:47 Coding TODO for 8.4: Synch Rep