git.postgresql.org Git - postgresql.git/log
Back out patch to reorganize guc processing. Was causing regression
failures.
Back out patch that allowed commented guc variables to return to their
default values. Was causing regression failures.
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
Fix wording, per Neil.
Tom Lane [2006年8月12日 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
Set Win32 server-size socket buffer to 32k, for performance reasons.
Yoshiyuki Asaba
Done:
< o %Allow commenting of variables in postgresql.conf to restore them
> o -Allow commenting of variables in postgresql.conf to restore them
Revert undesired FAQ_DEV change.
Allow commenting of variables in postgresql.conf to restore them to
defaults.
Zdenek Kotala
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
plperl:
Allow conversion from perl to postgresql array in OUT parameters. Second,
allow hash form output from procedures with one OUT argument.
Pavel Stehule
Make the psql line counter 64-bit so it can handle files > 4gig lines.
David Fetter
Add Neil's presentation to FAQ_DEV.
Fix typo.
Update for company URL.
Ian Barwick
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 [2006年8月10日 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.
Return inline to win32.h because code was OK, but keep additional
comment. 8.1.X is not affected by this commit.
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.
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.
Round microseconds on setitimer upwards.
On Win32, make minimum setitimer() sleep be 1ms, so sleeps < 1ms aren't
rounded down to zero.
Backpatch to 8.1.X.
Add URL for typmod:
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
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.
Formatting improvement.
Add URL:
> http://archives.postgresql.org/pgsql-performance/2004-08/msg00349.php
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
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
Fixed some memory bugs that somehow reappeared.
Also fixed a new Coverity report.
Fixed error handling in numeric conversion (Joachim).
Further regression cleanup.
Suppress MSVC warnings about weak functions by using
_CRT_SECURE_NO_DEPRECATE.
Hiroshi Saito
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
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.
Fix win32.mak for config cleanup.
Hiroshi Saito
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.
Reverse order of performance guides so powerpostgresql is first.
Add detail on packages:
>
> A package would be a schema with its own variables,
> private functions, and initialization functions
>
Add package item:
< o Add Oracle-style packages
> o Add Oracle-style packages (Pavel)
> * Pavel is Pavel Stehule <pavel.stehule@hotmail.com>
Fix definition of "errcode" for MSVC.
Hiroshi Saito
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.
<
Fix bug introduced by last patch, thanks again to Mario Weilguni <mweilguni@sime.com>
Cleaned up log output a little bit more.
Clarified COPY FROM STDIN in ecpg todo
Made parser check for valid copy to/from stdin/stdout combinations.
Lots of small changes in regression test suite
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
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.
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.
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.
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.
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.
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.
#ifdef fix for MSVC builds of libpq.
Hiroshi Saito
Improve logging of protocol-level prepared statements.
Fix bug in new pg_dump -T/-N handling that was dumping system schemas if
these options were used before -n/-t.
Tom Lane [Fri, 4 Aug 2006 16:54:05 +0000 (16:54 +0000)]
Remove redeclaration of struct sqlca_t --- unnecessary and provokes
warnings on some compilers.
Tom Lane [Fri, 4 Aug 2006 16:42:56 +0000 (16:42 +0000)]
Fix missing 'static' keywords --- some compilers gripe about this.
Tom Lane [Fri, 4 Aug 2006 15:16:14 +0000 (15:16 +0000)]
Fix inadequate quoting in test for AIX xlc.
Tom Lane [Fri, 4 Aug 2006 14:18:09 +0000 (14:18 +0000)]
'make clean' must remove the create subdirectories results/ and log/,
not merely remove their contents. Else 'cvs update' complains.
Tom Lane [Fri, 4 Aug 2006 14:09:51 +0000 (14:09 +0000)]
Teach eval_const_expressions to simplify BooleanTest nodes that have
constant input. Seems worth doing because rule rewriter inserts
IS NOT TRUE tests into WHERE clauses.
Regression test updates and fixes
Slight wording improvement in documentation.
Add missing ecpg function prototype needed when in threaded mode ---
supresses compiler warning.
Add URL for terminate backend test:
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
Tom Lane [Fri, 4 Aug 2006 00:00:14 +0000 (00:00 +0000)]
Add some basic tests of GUC behavior.
Joachim Wieland
Tom Lane [Thu, 3 Aug 2006 20:57:06 +0000 (20:57 +0000)]
Cause ALTER TABLE to perform ALTER COLUMN DROP DEFAULT operations during
the DROP pass rather than the ADD_CONSTR pass. On examining the code I
think this was just an oversight rather than intentional, and it seems
to satisfy the principle of least surprise better than the alternative
solution that was discussed. Add an example to the ref page showing how
to do ALTER TYPE and update the default in one command. Per gripe from
Markus Bertheau that that wasn't possible.
Tom Lane [Thu, 3 Aug 2006 17:04:00 +0000 (17:04 +0000)]
Remove use of a regex character class in resultmap (for freebsd version
check). This isn't supported by pg_regress since the recent rewrite
into C. While we could add char classes to pg_regress.c's code, it's
not really needed at the moment: thanks to Andrew's patch to make
pg_regress always accept the 'standard' comparison file, we can just
drop the version check.
Tom Lane [Thu, 3 Aug 2006 16:04:41 +0000 (16:04 +0000)]
Fix AfterTriggerExecute() to pass tg_trigtuple and tg_newtuple as NULLs
rather than pointers to garbage, when calling AFTER STATEMENT triggers.
Michael Fuhr
Tom Lane [Thu, 3 Aug 2006 15:22:09 +0000 (15:22 +0000)]
Add missing pgstat_count_index_scan(), per Andreas Seltenreich.
Tom Lane [Thu, 3 Aug 2006 14:54:44 +0000 (14:54 +0000)]
A few regression tests for VALUES, from Gavin Sherry.
Removed compiler warnings
Applied test suite update by Joachim Wieland <joe@mcknight.de>.
Move 'ddl' right after 'none' in postgresql.conf. It used to be between
'mod' and 'all', which is not the right order. SGML documentation order
was correct. Report from Chander Ganesan.
Fix logic to prevent pg_dump from dumping system schemas; bug introduced
in recent -t/-n/-T/-N patch.
Small style cleanups.
remove extraneous space after -L flag.
Tom Lane [Wed, 2 Aug 2006 18:58:21 +0000 (18:58 +0000)]
Arrange for ValuesScan to keep per-sublist expression eval state in a
temporary context that can be reset when advancing to the next sublist.
This is faster and more thorough at recovering space than the previous
method; moreover it will do the right thing if something in the sublist
tries to register an expression context callback.
Tom Lane [Wed, 2 Aug 2006 16:29:49 +0000 (16:29 +0000)]
Fix documentation error: GRANT/REVOKE for roles only accept role names
as grantees, not PUBLIC ... and you can't say GROUP either. Noted by
Brian Hurt.
And finally the Makefiles
Tom Lane [Wed, 2 Aug 2006 14:14:22 +0000 (14:14 +0000)]
Wups, got the test for contain_vars_of_level-not-needed wrong in
transformInsertStmt: the target table is already in p_rtable at that point.
Hopefully that's it. The remaining files for ecpg regression tests.
Tom Lane [Wed, 2 Aug 2006 13:58:52 +0000 (13:58 +0000)]
Add a HINT per suggestion from Michael Glaesemann. Also, tweak OLD/NEW
test to avoid expensive contain_vars_of_level() scan in the normal case
where we're not inside a rule.
Some more regression test files
One more file to remove
Removed old test files
ynced parser and keyword list.
Implemented EXEC SQL UNDEF.
Applied first version of the regression test patch by Joachim Wieland <joe@mcknight.de>.
Update:
< o Add COPY TO STDIN / STDOUT handling
> o Add COPY TO STDIN handling
Add:
> o In rules, allow VALUES() to contain a mixture of 'old' and 'new'
> references
Done:
o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
This is the main PostgreSQL git repository.
RSS
Atom