select not b from t1 -- electric fence - Mailing list pgsql-hackers

From Taral
Subject select not b from t1 -- electric fence
Date
Msg-id 000101bde38c$64666280$3b291f0a@taral
Whole thread Raw
Responses Re: [HACKERS] select not b from t1 -- electric fence  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
(gdb) set args template1
(gdb) run
Starting program: /home/taral/cvs/install/bin/postgres template1

  Electric Fence 2.0.5 Copyright (C) 1987-1995 Bruce Perens.

POSTGRES backend interactive interface
$Revision: 1.89 $ $Date: 1998/09/01 04:32:13 $
> select not b from t1
blank
         1: ?column?    (typeid = 16, len = 1, typmod = -1, byval = t)
        ----

Program received signal SIGSEGV, Segmentation fault.
ExecEvalOper (opClause=0x4091dfec, econtext=0x40933fd4, isNull=0xbfffdaff
"")
    at execQual.c:878
878             if (fcache == NULL)
(gdb) list
873             /*
874              * get the fcache from the Oper node. If it is NULL, then
initialize
875              * it
876              */
877             fcache = op->op_fcache;
878             if (fcache == NULL)
879             {
880                     setFcache((Node *) op, op->opid, argList, econtext);
881                     fcache = op->op_fcache;
882             }
(gdb) print op
$1 = (Oper *) 0x0

Umm... looking at this... why is the node type FUNC_EXPR? Shouldn't it be
NOT_EXPR?
Anyway, PARSEDEBUG,OPTIMIZER_DEBUG,DEBUG_RECIPE doesn't give me anything.
Someone have some idea how these nodes are constructed? I have no way to
follow the parsing & evaluating path in the program.

JP Sugarbroad


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] pg_user backtrace -- with ElectricFence (looks useful :)
Next
From: "Joost Kraaijeveld"
Date:
Subject: Windows NT port of Postgres