Re: EXEC_EVALDEBUG debugging broken?

From: peter(dot)trautmeier(at)gmx(dot)de
To: pgsql-hackers(at)postgresql(dot)org
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: EXEC_EVALDEBUG debugging broken?
Date: 2007-07-25 12:20:38
Message-ID: 20070725122038.323700@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Von: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
> 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 possible to store the calculated logical value of certain expressions, e.g. boolean OpExprs, in their ExprState on a per tuple basis to reuse them later?
(I guess I described some kind of 'condition cache' here.)

> The problem is that outfuncs.c knows about all the Expr node types and
> none of the ExprState types, there being no need to dump the latter in
> normal use. There is a valid argument that we ought to support dumping
> PlanState and ExprState trees for debugging purposes, but it just seems
> like more maintenance effort than it's worth ...

I don't know how often these ExprState nodes really change and how much maintenance they require, but I get your point.

> > (Is there a way do get this type info with gdb's help?)
>
> "p *(Node *) ptr" ought to do it.

Thanks, that works.

Regards,
Peter

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message peter.trautmeier 2007-07-25 12:34:23 Re: Design: Escort info from WHERE clause to executor?
Previous Message Magnus Hagander 2007-07-25 10:43:30 Re: Kerberos warnings on win32