From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: implement EXPLAIN EXECUTE |
Date: | 2003-01-15 17:26:44 |
Message-ID: | 1042651604.368.58.camel@tokyo |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
On Sun, 2003-01-12 at 14:31, Tom Lane wrote:
> ExplainStmt:
> EXPLAIN opt_analyze opt_verbose OptimizableStmt
> | EXPLAIN opt_analyze opt_verbose ExecuteStmt
> Then you'd not need one single change (I think) in parsenodes.h nor
> analyze.c, nor need to expose subroutines of explain.c to outside.
> Instead, prepare.c would have to expose a function to fetch the plan
> tree for a prepared query, but that seems a reasonable thing to do.
I thought about that (and even partially implemented it), but I decided
against it: when you take into account the need to accept & evaluate
parameters (or else EXPLAIN ANALYZE isn't much use on a prepared query),
you need to modify analyze.c anyway, and I wasn't that comfortable
teaching explain.c a lot about the inner workings of prepare.c
I think my implementation isn't too messy, anyway -- the majority of the
changes are just refactoring the existing code into smaller functions,
so that it can be reused more easily (which is probably a good idea
anyway, IMHO).
However, if you'd prefer I can redo the implementation as you suggested.
Let me know...
Cheers,
Neil
--
Neil Conway <neilc(at)samurai(dot)com> || PGP Key ID: DB3C29FC
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2003-01-15 17:50:46 | Re: pg_get_constraintdef patch #2 |
Previous Message | Bruce Momjian | 2003-01-15 16:45:33 | Re: minor improvement to contrib/fulltextindex docs |