On 11/08/10 14:42, Mark Kirkwood wrote:
On 10/08/10 19:46, vamsi krishna wrote: Hello all
I want to measure the execution time spent running an SQL select query after the plan generation.
So precisely I want to put my start timer before createQueryDesc() or ExecutorStart() and end timer after freeQueryDesc() or ExecutorEnd().
Right now I did so in "spi.c", "explain.c", "pquery.c" but they are not the default execution cases. Can someone tell me which file holds the default call to ExecutorStart(), because I also want to see the select query result unlike in the case of "explain" ?
See ProcessQuery in src/backend/tcop/query.c
Doh - sorry, I see you have that guy! Have a look at exec_simple_query in src/backend/tcop/postgres.c, by the time pg_plan_queries returns you have finished planning. The call to CreateQueryDesc is going to be from PortalStart in that case. Hopefully this will get you started (you may need to look at exec_*_message functions too).
Mark