postgresql/src
Tom Lane 7643bed58e When using extended-query protocol, postpone planning of unnamed statements
until Bind is received, so that actual parameter values are visible to the
planner.  Make use of the parameter values for estimation purposes (but
don't fold them into the actual plan).  This buys back most of the
potential loss of plan quality that ensues from using out-of-line
parameters instead of putting literal values right into the query text.

This patch creates a notion of constant-folding expressions 'for
estimation purposes only', in which case we can be more aggressive than
the normal eval_const_expressions() logic can be.  Right now the only
difference in behavior is inserting bound values for Params, but it will
be interesting to look at other possibilities.  One that we've seen
come up repeatedly is reducing now() and related functions to current
values, so that queries like ... WHERE timestampcol > now() - '1 day'
have some chance of being planned effectively.

Oliver Jowett, with some kibitzing from Tom Lane.
2004-06-11 01:09:22 +00:00
..
backend When using extended-query protocol, postpone planning of unnamed statements 2004-06-11 01:09:22 +00:00
bin More restructuring to use Win32 START with paths needing quotes. 2004-06-11 00:57:25 +00:00
corba make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
include When using extended-query protocol, postpone planning of unnamed statements 2004-06-11 01:09:22 +00:00
interfaces Attached is a patch that takes care of the PATHSEP issue. I made a more 2004-06-10 22:26:24 +00:00
makefiles Rename irix5 port to irix. 2004-05-19 21:37:43 +00:00
pl Support assignment to subfields of composite columns in UPDATE and INSERT. 2004-06-09 19:08:20 +00:00
port Attached is a patch that takes care of the PATHSEP issue. I made a more 2004-06-10 22:26:24 +00:00
template Rename irix5 port to irix. 2004-05-19 21:37:43 +00:00
test Clean up generation of default names for constraints, indexes, and serial 2004-06-10 17:56:03 +00:00
timezone Adjust our timezone library to use pg_time_t (typedef'd as int64) in 2004-06-03 02:08:07 +00:00
tools Use mkstemp instead of mktemp in thread test, per Jan. 2004-06-09 15:16:17 +00:00
tutorial Replace TupleTableSlot convention for whole-row variables and function 2004-04-01 21:28:47 +00:00
utils For application to HEAD, following community review. 2004-02-25 19:41:23 +00:00
bcc32.mak $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
DEVELOPERS just testing a script... 1999-07-30 03:45:57 +00:00
Makefile Integrate timezone library to be called only from Win32. 2004-04-30 04:31:52 +00:00
Makefile.global.in Move -lpgport to the beginning of the library list for win32 linking. 2004-06-02 21:05:52 +00:00
Makefile.shlib Rename irix5 port to irix. 2004-05-19 21:37:43 +00:00
nls-global.mk More locale fixes for pg_ctl. 2004-06-01 03:32:42 +00:00
win32.mak $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00