>>>>> "Alvaro" == Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
>> For instance, in the presence of a view or a subquery, does PG >> do a subquery to join transformation ?
Alvaro> Yes, there are transformations of this sort, but they are Alvaro> not called query rewrite in the code's
terminology,but Alvaro> "optimization" -- rewrite (rules and views) happens to the Alvaro> parsed statement, and
theoptimizer works on the output of Alvaro> rewriting. So actually the optimizations happen whether Alvaro> there
wereor not rules or views.
Interesting .. so these are rule-based then ? Not cost-based ?
I understand that there is a cost-based optimizer anyway that does the
planning and selects the right plan .. but does this come _after_ all
these transformations ? Or does it happen along with the
transformations ?
Alvaro> The query's path is SQL -> parse -> rewrite -> optimize -> Alvaro> execute
Can you please point me to the code that indeed does such
transformations ?
--
Pip-pip
Sailesh
http://www.cs.berkeley.edu/~sailesh