From: | Dhruv Pilania <dhruv(at)cs(dot)sunysb(dot)edu> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | getting oid of tuple in executePlan |
Date: | 2002-05-19 23:24:28 |
Message-ID: | Pine.GSO.4.33.0205191914120.26867-100000@compserv1 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello Mr. Lane,
I am a novice postgres developer. Can you please shed some light on this
problem I am having.
Basically, I am making a small change in executePlan() function of
executor/execMain.c. Right after a tupleslot is retrieved, I try to find
out the oid of the tuple that has been retrieved.
/* code that retrieves tupleslot */
/* snip */
if (estate->es_useEvalPlan)
{
slot = EvalPlanQualNext(estate);
if (TupIsNull(slot))
slot = ExecProcNode(plan, NULL);
}
else
slot = ExecProcNode(plan, NULL);
/* end of snip */
Right after this, I insert my code.
tupleOid = slot->val->t_data->t_oid;
For some reason, this assignment always results in tupleOid being 0. My
database has oid's enabled and I can see that an oid is assigned to each
tuple.
From what I understood, t_data is a pointer to the ondisk tuple so t_oid
should not be 0.
Can you please tell me what wrong assumptions I am making. Thank you for
your time and help.....
A budding postgresql developer,
Druv
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2002-05-19 23:33:53 | SRF rescan testing |
Previous Message | Tom Lane | 2002-05-19 22:52:29 | Re: Indexscan API cleanup proposal |