From: | HarmeekSingh Bedi <harmeeksingh(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Expression Pruning in postgress |
Date: | 2011-07-06 20:29:03 |
Message-ID: | CALLwk6v4OwMbb6+Rr18hCvC+-Y4RY6KcVV1a2QxPTsz0pde6pg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi .
Apology for the bandwith. Did not know who to ask the question . I
was interested in a brief detail on how postgress does expression
pruning between nodes . The basic question is as follows
Scenerio
In a plan where Node 1 is parent {say join) and Node 2 is child
(say scan) . If node 1 has a expression say foo(column) then scan
will project 'column' for sure and join will
evaluate foo(column). Now if the node above join does not need
column ? how does postgress remove the column from join's projection
list . I am seeing that it does not in many
cases specially when sort appears above.
Question
In general is there something in the code that can process a plan
tree and find out where expressions are generated and where there
references are not required - thus removing expressions not needed .
In my case the column is a huge column and hence it will matter if it
is removed from the projection list as soon as possible ?
Any insights welcome and thanks for all help
Regards
Harmeek
From | Date | Subject | |
---|---|---|---|
Next Message | Brar Piening | 2011-07-06 20:41:40 | Re: Review of VS 2010 support patches |
Previous Message | Kohei KaiGai | 2011-07-06 20:25:12 | Re: [v9.2] Fix leaky-view problem, part 1 |