[HACKERS] EXEC_EVALDEBUG debugging broken?

2007-07-24 Thread peter . trautmeier
Hi all, I am using version 8.2.4 of the source and compiled it with both OPTIMIZER_DEBUG and EXEC_EVALDEBUG enabled to take a look at how quals are evaluated by the executor. However, when I issue a query like SELECT name FROM city WHERE population 10 LIMIT 10; I get the following debug

Re: [HACKERS] EXEC_EVALDEBUG debugging broken?

2007-07-24 Thread peter . trautmeier
Von: Tom Lane [EMAIL PROTECTED] [EMAIL PROTECTED] writes: WARNING: could not dump unrecognized node type: 404 ExecQual: qual is ( { } ) Yeah, that code is toast, we probably ought to remove it. It hasn't worked since the changes to make the executor treat plan trees as

[HACKERS] Design: Escort info from WHERE clause to executor?

2007-07-24 Thread peter . trautmeier
Hi all, I want to pass additional weight info from the WHERE clause to the executor and I hope someone can help me with this. I accept clauses like the following WHERE (foo='a'){1} WHERE (foo='a'){1} OR (bar='b'){2} WHERE ((foo='a'){1} OR (bar='b'){2})){42} OR (baz='c'){3} where the {} takes

Re: [HACKERS] EXEC_EVALDEBUG debugging broken?

2007-07-25 Thread peter . trautmeier
Von: Tom Lane [EMAIL PROTECTED] Yeah, exactly. ExecInitExpr builds an ExprState tree that mirrors the structure of the Expr tree but contains all the run-time-variable data. This tree is what's now being passed to ExecQual. I see, and ExecInitExpr wraps the OpExpr in an FuncExprState. Is it

Re: [HACKERS] Design: Escort info from WHERE clause to executor?

2007-07-25 Thread peter . trautmeier
Thanks imad, Von: imad [EMAIL PROTECTED] It looks like you need a customized version of AExpr Node. In the backend parser, an AExpr Node is constructed against each given WHERE expression. You can store the weight along with the expression. Further, don't forget to upgrade the copy functions

Re: [HACKERS] Design: Escort info from WHERE clause to executor?

2007-07-25 Thread peter . trautmeier
Von: Heikki Linnakangas [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: To sum up, I am looking for a (decently efficient) scheme that is able to (1) pass arbitrary conditional expressions from WHERE to the executor in a structure preserving way. (2) annotate arbitrary expressions with

Re: [HACKERS] Design: Escort info from WHERE clause to executor?

2007-07-25 Thread peter . trautmeier
Thanks Heikki, Von: Heikki Linnakangas [EMAIL PROTECTED] I am implementing a technique that sorts a result set according to weight annotations in the WHERE. The query SELECT * FROM cars WHERE (cdChanger=1){2} OR (mp3player=1){1} would be sorted according to partial

[HACKERS] How to add a column in a executor node?

2007-08-24 Thread peter . trautmeier
Hi all, I want to add a column, i.e. an additional TargetEntry, in an executor node named Foo that is placed on top of the usually created plan. This node Foo will calculate the column which is then used to sort the relation subsequently. If desired, the column added by Foo is finally removed

[HACKERS] ecxt_scantuple has wrong TupleDesc

2007-12-17 Thread peter . trautmeier
Hi all, I wonder why my ecxt_scantuple has a TupleDesc matching the subplan's tlist, not my plan's tlist. Basically, my question is what is x in econtext-ecxt_scantuple = x ? I have written a new executor node Foo, with corresponding ExecFoo and make_foo functions. I have also written a new

Re: [HACKERS] ecxt_scantuple has wrong TupleDesc

2007-12-18 Thread peter . trautmeier
Thanks Tom, that made it clear I made a mistake. That's the way it's supposed to be --- the scantuple slot is for scanning your subplan's output. Browsing through the code I get the impression, that - ecxt_scantuple is only used by Scan nodes (i.e. SeqScan, IndexScan, SubqueryScan and