Hey Bruce! I've got some questions for the original topic, which was the
failure of
select not b from t;
where b is a boolean type in table t.
It looks to me that the NOT_EXPR expression node is being constructed
correctly in the parser, but somewhere between the parser and the
executor (at ExecSeqScan()) it is being transformed into a deficient
OP_EXPR expression node. Any hints on other places where this query tree
might be getting transformed or manipulated? If I brute force substitute
the expression type to be NOT_EXPR in ExecEvalExpr() then the query
completes successfully:
postgres=> select not b from t1;
?column?
--------
f
t
(2 rows)
Hints are appreciated, or if this is touching on areas you are already
familiar with I can send my debugging patches...
- Tom