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



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to