EXEC_EVALDEBUG debugging broken? - Mailing list pgsql-hackers

From peter.trautmeier@gmx.de
Subject EXEC_EVALDEBUG debugging broken?
Date
Msg-id 20070724093606.6420@gmx.net
Whole thread Raw
Responses Re: EXEC_EVALDEBUG debugging broken?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
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 < 100000 LIMIT 10;

I get the following debug output from postgres:

After canonicalize_qual()  {OPEXPR   :opno 97   :opfuncid 66   :opresulttype 16   :opretset false   :args (     {VAR
 :varno 1      :varattno 4      :vartype 23      :vartypmod -1      :varlevelsup 0      :varnoold 1      :varoattno 4
 }     {CONST      :consttype 23      :constlen 4      :constbyval true      :constisnull false      :constvalue 4 [
-96-122 1 0 ]     }  )  }
 

RELOPTINFO (1): rows=1018 width=88       baserestrictinfo: city.population < 100000       path list:       SeqScan(1)
rows=1018cost=0.00..66.16
 
       cheapest startup path:       SeqScan(1) rows=1018 cost=0.00..66.16
       cheapest total path:       SeqScan(1) rows=1018 cost=0.00..66.16

WARNING:  could not dump unrecognized node type: 404
ExecQual: qual is (  {  }
)


WARNING:  could not dump unrecognized node type: 404
ExecQual: qual is (  {  }
)

... and many more of this WARNINGs.

What happens to the OpExpr on its way from canonicalize_qual() to ExecQual() that makes _outNode() stumble over it when
itis encounteredin ExecQual()?
 

Regards,
Peter


pgsql-hackers by date:

Previous
From: "Simon Riggs"
Date:
Subject: Re: GucContext of log_autovacuum
Next
From: Tatsuo Ishii
Date:
Subject: Re: avoiding WAL logging in 8.3