OSDN Git Service
Bruce Momjian [Thu, 17 Aug 2006 06:48:38 +0000 (06:48 +0000)]
Add:
< * Add support for arrays of domains
> o Add support for arrays of domains
> o Add support for arrays of complex types
Bruce Momjian [Thu, 17 Aug 2006 06:45:12 +0000 (06:45 +0000)]
Add:
> * Support a data type with specific enumerated values (ENUM)
>
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00979.php
Bruce Momjian [Wed, 16 Aug 2006 14:59:26 +0000 (14:59 +0000)]
Add:
> * Add support for arrays of domains
Peter Eisentraut [Wed, 16 Aug 2006 14:57:37 +0000 (14:57 +0000)]
Put probes.o file in right directory, fixes dtrace compilation
Tom Lane [Wed, 16 Aug 2006 04:32:49 +0000 (04:32 +0000)]
Seems some C compilers think 'restrict' is a fully reserved word.
Per buildfarm results from warthog.
Tom Lane [Tue, 15 Aug 2006 22:36:17 +0000 (22:36 +0000)]
Add a hack so that get_type_io_data() can work from bootstrap.c's
internal TypInfo table in bootstrap mode. This allows array_in and
array_out to be used during early bootstrap, which eliminates the
former obstacle to giving OUT parameters to built-in functions.
Tom Lane [Tue, 15 Aug 2006 19:01:17 +0000 (19:01 +0000)]
Add hooks to allow debugging and performance measurement plugins
to instrument PL/pgSQL. Korry Douglas
Tom Lane [Tue, 15 Aug 2006 18:26:59 +0000 (18:26 +0000)]
Add server support for "plugin" libraries that can be used for add-on tasks
such as debugging and performance measurement. This consists of two features:
a table of "rendezvous variables" that allows separately-loaded shared
libraries to communicate, and a new GUC setting "local_preload_libraries"
that allows libraries to be loaded into specific sessions without explicit
cooperation from the client application. To make local_preload_libraries
as flexible as possible, we do not restrict its use to superusers; instead,
it is restricted to load only libraries stored in $libdir/plugins/. The
existing LOAD command has also been modified to allow non-superusers to
LOAD libraries stored in this directory.
This patch also renames the existing GUC variable preload_libraries to
shared_preload_libraries (after a suggestion by Simon Riggs) and does some
code refactoring in dfmgr.c to improve clarity.
Korry Douglas, with a little help from Tom Lane.
Tatsuo Ishii [Tue, 15 Aug 2006 13:05:30 +0000 (13:05 +0000)]
Fix pgbench to handle empty lines in script files as documented.
patches contributed by Itagaki Takahiro.
Michael Meskes [Tue, 15 Aug 2006 12:46:25 +0000 (12:46 +0000)]
Fixed a typo and made two mallocs Coverity friendly.
Michael Meskes [Tue, 15 Aug 2006 06:48:24 +0000 (06:48 +0000)]
Sorry, forgot the new files.
Michael Meskes [Tue, 15 Aug 2006 06:40:20 +0000 (06:40 +0000)]
Added lots of SoC stuff made by Joachim.
Fixed broken newline on Windows.
Fixed a nasty buffer underrun that only occured when using Informix
no_indicator NULL setting on timestamps and intervals.
Tom Lane [Mon, 14 Aug 2006 23:39:32 +0000 (23:39 +0000)]
Cause '*' and 'foo.*' notations to mark the referenced RTE(s) as
requiring read permissions. Up till now there was no possible case
in which the RTEs wouldn't already have ACL_SELECT set ... but now that
you can say something like 'INSERT INTO foo ... RETURNING *' this is
an essential step. With this commit, a RETURNING clause adds the
requirement for SELECT permissions on the target table if and only if
the clause actually reads the value of at least one target-table column.
Tom Lane [Mon, 14 Aug 2006 22:57:15 +0000 (22:57 +0000)]
Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we
cannot assume that there's exactly one Query in the Portal, as we can for
ONE_SELECT mode, because non-SELECT queries might have extra queries added
during rule rewrites. Fix things up so that we'll use ONE_RETURNING mode
when a Portal contains one primary (canSetTag) query and that query has
a RETURNING list. This appears to be a second showstopper reason for running
the Portal to completion before we start to hand anything back --- we want
to be sure that the rule-added queries get run too.
Tom Lane [Mon, 14 Aug 2006 21:14:42 +0000 (21:14 +0000)]
Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking
as per yesterday's proposal. Also make things a tad more orthogonal by
adding the recent STRICT addition to EXECUTE INTO.
Jonah Harris and Tom Lane
Tom Lane [Mon, 14 Aug 2006 13:40:18 +0000 (13:40 +0000)]
When executing a list of queries derived from rule expansion,
_SPI_execute_plan's return code should reflect the type of the query
that is marked canSetTag, not necessarily the last one in the list.
This is arguably a bug fix, but I'm hesitant to back-patch it because
it's the sort of subtle change that might break someone's code, and it's
best not to do that kind of thing in point releases.
Tom Lane [Mon, 14 Aug 2006 12:39:55 +0000 (12:39 +0000)]
Remove hash_destroy calls in hash_create's failure paths. As noted by
a Coverity warning, these are risky since the hashtable isn't necessarily
fully set up yet. They're unnecessary anyway: a deletable hashtable
should be in a memory context that will be cleared following elog(ERROR).
Per report from Martijn van Oosterhout.
Bruce Momjian [Mon, 14 Aug 2006 02:27:27 +0000 (02:27 +0000)]
Revert (again) GUC patch to return commented fields to their default
values, due to concern about the patch.
Tom Lane [Mon, 14 Aug 2006 00:46:53 +0000 (00:46 +0000)]
Get rid of "lookahead" functionality in plpgsql's yylex() function,
and instead make the grammar production for the RETURN statement do the
heavy lifting. The lookahead idea was copied from the main parser, but
it does not work in plpgsql's parser because here gram.y looks explicitly
at the scanner's yytext variable, which will be out of sync after a
failed lookahead step. A minimal example is
create or replace function foo() returns void language plpgsql as '
begin
perform return foo bar;
end';
which can be seen by testing to deliver "foo foo bar" to the main parser
instead of the expected "return foo bar". This isn't a huge bug since
RETURN is not found in the main grammar, but it could bite someone who
tried to use "return" as an identifier.
Back-patch to 8.1. Bug exists further back, but HEAD patch doesn't apply
cleanly, and given the lack of field complaints it doesn't seem worth
the effort to develop adjusted patches.
Tom Lane [Sun, 13 Aug 2006 22:18:08 +0000 (22:18 +0000)]
Fix core dump in duration logging for a V3-protocol Execute message
when what's being executed is a COMMIT or ROLLBACK. Per report from
Sergey Koposov. Backpatch to 8.1; 8.0 and before don't have the bug
due to lack of any logging at all here.
Tom Lane [Sun, 13 Aug 2006 21:10:04 +0000 (21:10 +0000)]
Cause psql to report both the returned data and the command status tag
for INSERT/UPDATE/DELETE RETURNING. Per discussion.
Tom Lane [Sun, 13 Aug 2006 20:39:07 +0000 (20:39 +0000)]
If test postmaster fails to start within 60 seconds, try to kill -9 it
so that it won't interfere with later trials. Per recent buildfarm
experience. Anyone know how to do this on Windows?
Tom Lane [Sun, 13 Aug 2006 19:31:06 +0000 (19:31 +0000)]
Extend 'guc' regression test to check manipulations of datestyle as
well as vacuum_cost_delay. Since datestyle is a string variable,
this exercises memory allocation issues that might not appear when
modifying an integer GUC variable. Also, we can observe the side
effects of changing datestyle to check that assign hooks are called
at the right times.
Tom Lane [Sun, 13 Aug 2006 17:58:49 +0000 (17:58 +0000)]
Original coding of 'returning' regression test inadvertently chose a
nonunique join value, leading to plan-choice-dependent results ... and
it seems some platforms will choose a different plan. Tweak the test
so that it has well-defined results. Per report from Olivier Prenant.
Bruce Momjian [Sun, 13 Aug 2006 17:31:10 +0000 (17:31 +0000)]
Back out plperl OUT hash/array parameter patch, again.
Bruce Momjian [Sun, 13 Aug 2006 15:37:02 +0000 (15:37 +0000)]
Fix recent guc comment-to-default patch for custom variables.
Michael Meskes [Sun, 13 Aug 2006 10:18:31 +0000 (10:18 +0000)]
Applied patch for VPATH builds by Alvaro Herrera <alvherre@commandprompt.com>
Merged dyntest.pgc and dyntest2.pgc.
Hopefully fixed the last Coverity reports (finally)
Bruce Momjian [Sun, 13 Aug 2006 02:37:11 +0000 (02:37 +0000)]
Re-apply plperl patch that allows OUT parameters to be placed into Perl
hash and array variables. (regression output updated)
Bruce Momjian [Sun, 13 Aug 2006 02:22:24 +0000 (02:22 +0000)]
Recommit patch to allow commented GUC variables to return to their
default values.
Bruce Momjian [Sun, 13 Aug 2006 01:30:17 +0000 (01:30 +0000)]
Re-apply guc cleanup patch, with memory allocation bugs fixed.
Tom Lane [Sat, 12 Aug 2006 20:05:56 +0000 (20:05 +0000)]
Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING; this was
merely a matter of fixing the error check, since the underlying Portal
infrastructure already handles it. This in turn allows these statements
to be used in some existing plpgsql and plperl contexts, such as a
plpgsql FOR loop. Also, do some marginal code cleanup in places that
were being sloppy about distinguishing SELECT from SELECT INTO.
Tom Lane [Sat, 12 Aug 2006 18:58:54 +0000 (18:58 +0000)]
Remove ancient, obsolete comment.
Bruce Momjian [Sat, 12 Aug 2006 04:16:45 +0000 (04:16 +0000)]
Back out patch for plperl to handle OUT paramaters into arrays and
hashes. Was causing regression failures.
Bruce Momjian [Sat, 12 Aug 2006 04:12:41 +0000 (04:12 +0000)]
Back out patch to reorganize guc processing. Was causing regression
failures.
Bruce Momjian [Sat, 12 Aug 2006 04:11:50 +0000 (04:11 +0000)]
Back out patch that allowed commented guc variables to return to their
default values. Was causing regression failures.
Bruce Momjian [Sat, 12 Aug 2006 03:50:27 +0000 (03:50 +0000)]
Done:
< o Allow INSERT/UPDATE ... RETURNING new.col or old.col
<
< This is useful for returning the auto-generated key for an INSERT.
< One complication is how to handle rules that run as part of
< the insert.
< http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
> o -Allow INSERT/UPDATE ... RETURNING new.col or old.col
Bruce Momjian [Sat, 12 Aug 2006 03:48:32 +0000 (03:48 +0000)]
Fix wording, per Neil.
Tom Lane [Sat, 12 Aug 2006 02:52:06 +0000 (02:52 +0000)]
Add INSERT/UPDATE/DELETE RETURNING, with basic docs and regression tests.
plpgsql support to come later. Along the way, convert execMain's
SELECT INTO support into a DestReceiver, in order to eliminate some ugly
special cases.
Jonah Harris and Tom Lane
Bruce Momjian [Fri, 11 Aug 2006 20:44:20 +0000 (20:44 +0000)]
Set Win32 server-size socket buffer to 32k, for performance reasons.
Yoshiyuki Asaba
Bruce Momjian [Fri, 11 Aug 2006 20:17:26 +0000 (20:17 +0000)]
Done:
< o %Allow commenting of variables in postgresql.conf to restore them
> o -Allow commenting of variables in postgresql.conf to restore them
Bruce Momjian [Fri, 11 Aug 2006 20:16:50 +0000 (20:16 +0000)]
Revert undesired FAQ_DEV change.
Bruce Momjian [Fri, 11 Aug 2006 20:15:16 +0000 (20:15 +0000)]
Allow commenting of variables in postgresql.conf to restore them to
defaults.
Zdenek Kotala
Bruce Momjian [Fri, 11 Aug 2006 20:08:28 +0000 (20:08 +0000)]
Refactor GUC set_config_option function:
The main reason for refactoring was that set_config_option() was too
overloaded function and its behavior did not consistent. Old version of
set_config_function hides some messages. For example if you type:
tcp_port = 5432.1
then old implementation ignore this error without any message to log
file in the signal context (configuration reload). Main problem was that
semantic analysis of postgresql.conf is not perform in the
ProcessConfigFile function, but in the set_config_options *after*
context check. This skipped check for variables with PG_POSTMASTER
context. There was request from Joachim Wieland to add more messages
about ignored changes in the config file as well.
Zdenek Kotala
Bruce Momjian [Fri, 11 Aug 2006 19:42:35 +0000 (19:42 +0000)]
plperl:
Allow conversion from perl to postgresql array in OUT parameters. Second,
allow hash form output from procedures with one OUT argument.
Pavel Stehule
Bruce Momjian [Fri, 11 Aug 2006 19:20:59 +0000 (19:20 +0000)]
Make the psql line counter 64-bit so it can handle files > 4gig lines.
David Fetter
Bruce Momjian [Fri, 11 Aug 2006 19:18:59 +0000 (19:18 +0000)]
Add Neil's presentation to FAQ_DEV.
Alvaro Herrera [Fri, 11 Aug 2006 18:51:50 +0000 (18:51 +0000)]
Fix typo.
Bruce Momjian [Fri, 11 Aug 2006 18:47:57 +0000 (18:47 +0000)]
Update for company URL.
Ian Barwick
Bruce Momjian [Fri, 11 Aug 2006 15:53:39 +0000 (15:53 +0000)]
Add URLs
< * Allow encoding on a per-column basis
> * Allow encoding on a per-column basis optionally using the ICU library:
> http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
> http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
Tom Lane [Thu, 10 Aug 2006 02:36:29 +0000 (02:36 +0000)]
Fix UNION/INTERSECT/EXCEPT so that when two inputs being merged have
same data type and same typmod, we show that typmod as the output
typmod, rather than generic -1. This responds to several complaints
over the past few years about UNIONs unexpectedly dropping length or
precision info.
Bruce Momjian [Thu, 10 Aug 2006 01:41:29 +0000 (01:41 +0000)]
Return inline to win32.h because code was OK, but keep additional
comment. 8.1.X is not affected by this commit.
Bruce Momjian [Thu, 10 Aug 2006 01:35:21 +0000 (01:35 +0000)]
Move "#define inline __inline" from port/win32.h to c.h because Win32
interface builds like libpq need it.
Backpatch addition to 8.1.X.
Bruce Momjian [Thu, 10 Aug 2006 00:44:01 +0000 (00:44 +0000)]
Fix display of log duration so it is milliseconds.microseconds "ms".
Greg Sabino Mullane
Tom Lane [Wed, 9 Aug 2006 22:48:17 +0000 (22:48 +0000)]
Fix inadequate makefile-fu in ecpg regression tests. I think this
will fix current platypus build failure.
Bruce Momjian [Wed, 9 Aug 2006 21:18:13 +0000 (21:18 +0000)]
Round microseconds on setitimer upwards.
Bruce Momjian [Wed, 9 Aug 2006 20:40:56 +0000 (20:40 +0000)]
On Win32, make minimum setitimer() sleep be 1ms, so sleeps < 1ms aren't
rounded down to zero.
Backpatch to 8.1.X.
Bruce Momjian [Wed, 9 Aug 2006 18:10:34 +0000 (18:10 +0000)]
Add URL for typmod:
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
Bruce Momjian [Wed, 9 Aug 2006 17:47:03 +0000 (17:47 +0000)]
Fix statement_timeout on Win32 so that it properly treats micro-seconds
as micro-seconds, rather than as 100 microseconds, as it does now. This
actually fixes all setitimer calls on Win32, but statement_timeout is
the most visible fix.
Backpatch to 8.1.X. 8.0 works as documented.
Bruce Momjian [Wed, 9 Aug 2006 17:33:52 +0000 (17:33 +0000)]
Formatting improvement.
Bruce Momjian [Wed, 9 Aug 2006 16:42:19 +0000 (16:42 +0000)]
Add URL:
> http://archives.postgresql.org/pgsql-performance/2004-08/msg00349.php
Bruce Momjian [Wed, 9 Aug 2006 16:35:51 +0000 (16:35 +0000)]
Add TODO items we don't want (Idea from Josh Berkus)
>
>
> Features We Do _Not_ Want
> =========================
>
> * All backends running as threads in a single process (not want)
>
> This eliminates the process protection we get from the current setup.
> Thread creation is usually the same overhead as process creation on
> modern systems, so it seems unwise to use a pure threaded model.
>
> * Optimizer hints (not want)
>
> Optimizer hints are used to work around problems in the optimizer. We
> would rather have the problems reported and fixed.
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
Bruce Momjian [Wed, 9 Aug 2006 14:55:39 +0000 (14:55 +0000)]
Update packages:
< A package would be a schema with public/private variables,
> A package would be a schema with session-local variables,
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
Michael Meskes [Wed, 9 Aug 2006 09:08:32 +0000 (09:08 +0000)]
Fixed some memory bugs that somehow reappeared.
Also fixed a new Coverity report.
Michael Meskes [Wed, 9 Aug 2006 07:30:56 +0000 (07:30 +0000)]
Fixed error handling in numeric conversion (Joachim).
Further regression cleanup.
Bruce Momjian [Wed, 9 Aug 2006 03:09:56 +0000 (03:09 +0000)]
Suppress MSVC warnings about weak functions by using
_CRT_SECURE_NO_DEPRECATE.
Hiroshi Saito
Bruce Momjian [Wed, 9 Aug 2006 02:48:10 +0000 (02:48 +0000)]
Update packages description:
< A package would be a schema with its own variables,
< private functions, and initialization functions. It
> A package would be a schema with public/private variables,
> public/private functions, and initialization functions. It
Bruce Momjian [Tue, 8 Aug 2006 22:51:37 +0000 (22:51 +0000)]
Update packages:
< private functions, and initialization functions
> private functions, and initialization functions. It
> is also possible to implement these capabilities
> in all schemas and not use a separate "packages"
> syntax at all.
Bruce Momjian [Tue, 8 Aug 2006 22:44:05 +0000 (22:44 +0000)]
Fix win32.mak for config cleanup.
Hiroshi Saito
Bruce Momjian [Tue, 8 Aug 2006 22:39:09 +0000 (22:39 +0000)]
Update:
< o COPY FROM STDIN not implemented because not useful?
> o Implement COPY FROM STDIN
Tom Lane [Tue, 8 Aug 2006 19:43:11 +0000 (19:43 +0000)]
Fix 'make clean' for change of regression.diffs file name.
Tom Lane [Tue, 8 Aug 2006 19:15:09 +0000 (19:15 +0000)]
Add a feature for automatic initialization and finalization of dynamically
loaded libraries: call functions _PG_init() and _PG_fini() if the library
defines such symbols. Hence we no longer need to specify an initialization
function in preload_libraries: we can assume that the library used the
_PG_init() convention, instead. This removes one source of pilot error
in use of preloaded libraries. Original patch by Ralf Engelschall,
preload_libraries changes by me.
Bruce Momjian [Tue, 8 Aug 2006 19:05:24 +0000 (19:05 +0000)]
Reverse order of performance guides so powerpostgresql is first.
Bruce Momjian [Tue, 8 Aug 2006 19:03:59 +0000 (19:03 +0000)]
Add detail on packages:
>
> A package would be a schema with its own variables,
> private functions, and initialization functions
>
Bruce Momjian [Tue, 8 Aug 2006 19:02:13 +0000 (19:02 +0000)]
Add package item:
< o Add Oracle-style packages
> o Add Oracle-style packages (Pavel)
> * Pavel is Pavel Stehule <pavel.stehule@hotmail.com>
Bruce Momjian [Tue, 8 Aug 2006 18:49:14 +0000 (18:49 +0000)]
Fix definition of "errcode" for MSVC.
Hiroshi Saito
Bruce Momjian [Tue, 8 Aug 2006 17:40:02 +0000 (17:40 +0000)]
Done:
< o Automatically force archiving of partially-filled WAL files when
> o -Automatically force archiving of partially-filled WAL files when
<
< Doing this will allow administrators to know more easily when
< the archive contains all the files needed for point-in-time
< recovery.
< http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
<
< o Add reporting of the current WAL file and offset, perhaps as
> o -Add reporting of the current WAL file and offset, perhaps as
<
< The offset allows parts of a WAL file to be archived using
< an external program.
<
Teodor Sigaev [Tue, 8 Aug 2006 15:45:18 +0000 (15:45 +0000)]
Fix bug introduced by last patch, thanks again to Mario Weilguni <mweilguni@sime.com>
Michael Meskes [Tue, 8 Aug 2006 15:30:39 +0000 (15:30 +0000)]
Cleaned up log output a little bit more.
Michael Meskes [Tue, 8 Aug 2006 11:52:51 +0000 (11:52 +0000)]
Clarified COPY FROM STDIN in ecpg todo
Michael Meskes [Tue, 8 Aug 2006 11:51:25 +0000 (11:51 +0000)]
Made parser check for valid copy to/from stdin/stdout combinations.
Lots of small changes in regression test suite
Bruce Momjian [Tue, 8 Aug 2006 01:24:36 +0000 (01:24 +0000)]
Done:
< * Allow protocol-level BIND parameter values to be logged
<
< http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
> * -Allow protocol-level BIND parameter values to be logged, if text mode
Bruce Momjian [Tue, 8 Aug 2006 01:23:15 +0000 (01:23 +0000)]
For protocol-level prepare/bind/execute:
o print user name for all
o print portal name if defined for all
o print query for all
o reduce log_statement header to single keyword
o print bind parameters as DETAIL if text mode
Tom Lane [Mon, 7 Aug 2006 21:56:25 +0000 (21:56 +0000)]
Put back another improperly-removed #include.
Tom Lane [Mon, 7 Aug 2006 17:41:42 +0000 (17:41 +0000)]
On some platforms, pg_usleep isn't interruptible by signals; fix
archiver to behave per original coder's expectation on these machines.
We already know this everywhere else AFAICT.
Teodor Sigaev [Mon, 7 Aug 2006 17:39:04 +0000 (17:39 +0000)]
fix bug about modifying value in shared buffer,
what was a reason to corrupt index.
Thank to Mario Weilguni <mweilguni@sime.com> to
discover a bug.
Tom Lane [Mon, 7 Aug 2006 16:57:57 +0000 (16:57 +0000)]
Make recovery from WAL be restartable, by executing a checkpoint-like
operation every so often. This improves the usefulness of PITR log
shipping for hot standby: formerly, if the standby server crashed, it
was necessary to restart it from the last base backup and replay all
the WAL since then. Now it will only need to reread about the same
amount of WAL as the master server would. The behavior might also
come in handy during a long PITR replay sequence. Simon Riggs,
with some editorialization by Tom Lane.
Michael Meskes [Mon, 7 Aug 2006 13:17:02 +0000 (13:17 +0000)]
Joachim fixed some bugs in numeric handling in pgtypeslib.
Fixed and cleaned up some regression tests. Also added a new one.
Tom Lane [Sun, 6 Aug 2006 04:35:21 +0000 (04:35 +0000)]
Tweak sanity_check regression test to display more tables (viz, those
without indexes) but not to display temp tables. It's a bit hard to
credit that sanity_check could get through a database-wide VACUUM
while the preceding create_index test is still trying to clean up
its temp tables ... but I see no other explanation for the current
failure report from buildfarm member sponge.
Tom Lane [Sun, 6 Aug 2006 03:53:44 +0000 (03:53 +0000)]
Add support for forcing a switch to a new xlog file; cause such a switch
to happen automatically during pg_stop_backup(). Add some functions for
interrogating the current xlog insertion point and for easily extracting
WAL filenames from the hex WAL locations displayed by pg_stop_backup
and friends. Simon Riggs with some editorialization by Tom Lane.
Bruce Momjian [Sun, 6 Aug 2006 02:00:52 +0000 (02:00 +0000)]
Use better named loop variable for large loop, rather than 'i'.
Tom Lane [Sat, 5 Aug 2006 17:21:52 +0000 (17:21 +0000)]
Fix inheritance_planner() to delete dummy subplans from its Append plan
list, when some of the child rels have been excluded by constraint
exclusion. This doesn't save a huge amount of time but it'll save some,
and it makes the EXPLAIN output look saner. We already did the
equivalent thing in set_append_rel_pathlist(), but not here.
Michael Meskes [Sat, 5 Aug 2006 16:48:48 +0000 (16:48 +0000)]
Two more changes to regression tests to fix two differences in different setups.
Neil Conway [Sat, 5 Aug 2006 00:29:11 +0000 (00:29 +0000)]
Fix references to the Options section in the pgcrypto documentation.
Patch from Michael Fuhr.
Tom Lane [Sat, 5 Aug 2006 00:22:49 +0000 (00:22 +0000)]
Extend relation_excluded_by_constraints() to check for mutually
contradictory WHERE-clauses applied to a relation. This makes the
GUC variable constraint_exclusion rather inappropriately named,
but I've refrained for the moment from renaming it.
Per example from Martin Lesser.
Tom Lane [Sat, 5 Aug 2006 00:21:14 +0000 (00:21 +0000)]
Teach predicate_refuted_by() how to do proofs involving NOT-clauses.
This doesn't matter too much for ordinary NOTs, since prepqual.c does
its best to get rid of those, but it helps with IS NOT TRUE clauses
which the rule rewriter likes to insert. Per example from Martin Lesser.
Bruce Momjian [Fri, 4 Aug 2006 22:20:06 +0000 (22:20 +0000)]
Add some blank lines for formatting.
Tom Lane [Fri, 4 Aug 2006 21:33:36 +0000 (21:33 +0000)]
Fix domain_in() bug exhibited by Darcy Buskermolen. The idea of an EState
that's shorter-lived than the expression state being evaluated in it really
doesn't work :-( --- we end up with fn_extra caches getting deleted while
still in use. Rather than abandon the notion of caching expression state
across domain_in calls altogether, I chose to make domain_in a bit cozier
with ExprContext. All we really need for evaluating variable-free
expressions is an ExprContext, not an EState, so I invented the notion of a
"standalone" ExprContext. domain_in can prevent resource leakages by doing
a ReScanExprContext on this rather than having to free it entirely; so we
can make the ExprContext have the same lifespan (and particularly the same
per_query memory context) as the expression state structs.
Bruce Momjian [Fri, 4 Aug 2006 18:58:33 +0000 (18:58 +0000)]
#ifdef fix for MSVC builds of libpq.
Hiroshi Saito
Bruce Momjian [Fri, 4 Aug 2006 18:53:46 +0000 (18:53 +0000)]
Improve logging of protocol-level prepared statements.
Bruce Momjian [Fri, 4 Aug 2006 18:32:15 +0000 (18:32 +0000)]
Fix bug in new pg_dump -T/-N handling that was dumping system schemas if
these options were used before -n/-t.