OK, I ran a GDB trace into ExecScan and here is a part of it:
#########################
(gdb) finish
Run till exit from #0 ExecScanFetch (node=0x1d5c3c0,
accessMtd=0x55dd10 <SeqNext>, recheckMtd=0x55db70 <SeqRecheck>)
at execScan.c:44
194 if (TupIsNull(slot))
(gdb) s
205 econtext->ecxt_scantuple = slot;
(gdb) s
206 int num_atts = slot->tts_tupleDescriptor->natts;
(gdb) s
207 elog(INFO, "========[start] BEFORE ExecQual===========");
(gdb) s
206 int num_atts = slot->tts_tupleDescriptor->natts;
(gdb) s
207 elog(INFO, "========[start] BEFORE ExecQual===========");
(gdb) s
elog_start (filename=0x7c9db2 "execScan.c", lineno=207,
funcname=0x7c9e69 "ExecScan") at elog.c:1089
1089 {
(gdb)
##########################
Why do these lines:
########################
206 int num_atts = slot->tts_tupleDescriptor->natts;
(gdb) s
207 elog(INFO, "========[start] BEFORE ExecQual===========");
########################
repeat twice? I have written them only once! GDB documentation does not help! A few forums I am on, people accuse me of anything between bad programming to recursion. Any idea? I never face this with rest of the code (and in no other program). I am on Fedora 13 X86_64.
Regards,
Vaibhav
On Wed, May 25, 2011 at 11:45 PM, Vaibhav Kaushal
<vaibhavkaushal123@gmail.com> wrote:
I think the command 'where' does the same. And the command showed something which looked like was part of evaluation...it got me confused. Anyways, thanks robert. I will check that too. I did not know the 'bt' command.
--
Sent from my Android