users/hanada/postgres.git
15 years agoFix ruleutils' get_variable() to print something useful for Vars referencing
Tom Lane [Fri, 9 Jul 2010 21:11:57 +0000 (21:11 +0000)]
Fix ruleutils' get_variable() to print something useful for Vars referencing
resjunk outputs of subquery tlists, instead of throwing an error.  Per bug
#5548 from Daniel Grace.

We might at some point find we ought to back-patch this further than 9.0,
but I think that such Vars can only occur as resjunk members of upper-level
tlists, in which case the problem can't arise because prior versions didn't
print resjunk tlist items in EXPLAIN VERBOSE.

15 years agoProperly report errno/out-of-disk-space error from pg_upgrade when in
Bruce Momjian [Fri, 9 Jul 2010 16:51:29 +0000 (16:51 +0000)]
Properly report errno/out-of-disk-space error from pg_upgrade when in
copy mode, per report from depstein@alliedtesting.com.

Patch suggestion from Magnus.

Backpatch to 9.0.X.

15 years agotag beta3 REL9_0_BETA3
Marc G. Fournier [Fri, 9 Jul 2010 02:43:12 +0000 (02:43 +0000)]
tag beta3

15 years agoUpdate release notes for 9.0 beta 3.
Bruce Momjian [Thu, 8 Jul 2010 22:26:14 +0000 (22:26 +0000)]
Update release notes for 9.0 beta 3.

15 years agoSome small changes for plperl.sgml:
Peter Eisentraut [Thu, 8 Jul 2010 21:35:33 +0000 (21:35 +0000)]
Some small changes for plperl.sgml:
   - wrapped long code-lines, for pdf
   - typo

Erik Rijkers

15 years agoTranslation updates for 9.0beta3
Peter Eisentraut [Thu, 8 Jul 2010 21:32:28 +0000 (21:32 +0000)]
Translation updates for 9.0beta3

15 years agoMinor kibitzing on previous patch: no need to run check more than once.
Tom Lane [Thu, 8 Jul 2010 19:00:11 +0000 (19:00 +0000)]
Minor kibitzing on previous patch: no need to run check more than once.
(_PG_init should be called only once anyway, but as long as it's got an
internal guard against repeat calls, that should be in front of the
version check.)

15 years agoInstall safeguard against running PL/Python 2 and 3 in the same session
Peter Eisentraut [Thu, 8 Jul 2010 18:42:12 +0000 (18:42 +0000)]
Install safeguard against running PL/Python 2 and 3 in the same session

15 years agoDoc change: effected -> affected, per correction from Matthew Wakeling
Bruce Momjian [Thu, 8 Jul 2010 16:44:12 +0000 (16:44 +0000)]
Doc change:  effected -> affected, per correction from Matthew Wakeling

15 years agoAdd a cross-reference to precedence information to CREATE OPERATOR's
Tom Lane [Thu, 8 Jul 2010 16:30:13 +0000 (16:30 +0000)]
Add a cross-reference to precedence information to CREATE OPERATOR's
documentation.  Per suggestion from Marc Cousin.

15 years agoMake the Windows tcp keepalive support depend on the existance of the
Magnus Hagander [Thu, 8 Jul 2010 16:19:50 +0000 (16:19 +0000)]
Make the Windows tcp keepalive support depend on the existance of the
SIO_KEEPALIVE_VALS define instead of just WIN32, since MingW doesn't
support this API (yet?).

15 years agoUpdate obsolete comment. Noted by Josh Tolley.
Tom Lane [Thu, 8 Jul 2010 16:08:30 +0000 (16:08 +0000)]
Update obsolete comment.  Noted by Josh Tolley.

15 years agoFix variant float8 expected files to have exactly the expected spacing.
Tom Lane [Thu, 8 Jul 2010 15:15:05 +0000 (15:15 +0000)]
Fix variant float8 expected files to have exactly the expected spacing.
This wasn't important when we used diff's -w (--ignore-all-space) option
to compare regression result files, but it is now.  Per buildfarm member
canary, which evidently has been offline since we did that in November,
but came to life again today.

15 years agoAdd support for TCP keepalives on Windows, both for backend and the new
Magnus Hagander [Thu, 8 Jul 2010 10:20:14 +0000 (10:20 +0000)]
Add support for TCP keepalives on Windows, both for backend and the new
libpq support.

15 years agoFix "cannot handle unplanned sub-select" error that can occur when a
Tom Lane [Thu, 8 Jul 2010 00:14:04 +0000 (00:14 +0000)]
Fix "cannot handle unplanned sub-select" error that can occur when a
sub-select contains a join alias reference that expands into an expression
containing another sub-select.  Per yesterday's report from Merlin Moncure
and subsequent off-list investigation.

Back-patch to 7.4.  Older versions didn't attempt to flatten sub-selects in
ways that would trigger this problem.

15 years agoAdjust mbutils.c so it won't get broken by future pgindent runs.
Tom Lane [Wed, 7 Jul 2010 15:13:21 +0000 (15:13 +0000)]
Adjust mbutils.c so it won't get broken by future pgindent runs.
To do that, replace L'\0' by (WCHAR) 0.  Perhaps someday we should teach
pgindent about wide-character literals, but so long as this is the only
use-case in the entire Postgres sources, a workaround seems easier.

15 years agoDocument the interaction of write-barrier-enabled file systems, and BBU
Bruce Momjian [Wed, 7 Jul 2010 14:42:09 +0000 (14:42 +0000)]
Document the interaction of write-barrier-enabled file systems, and BBU
caches, per June email thread.

15 years agoMake log_temp_files based on kB, and revert docs & comments to match.
Robert Haas [Tue, 6 Jul 2010 22:55:26 +0000 (22:55 +0000)]
Make log_temp_files based on kB, and revert docs & comments to match.

Per extensive discussion on pgsql-hackers.  We are deliberately not
back-patching this even though the behavior of 8.3 and 8.4 is
unquestionably broken, for fear of breaking existing users of this
parameter.  This incompatibility should be release-noted.

15 years agoAccept slightly grotty coding in Makefile.global in order to keep the -L
Tom Lane [Tue, 6 Jul 2010 22:03:05 +0000 (22:03 +0000)]
Accept slightly grotty coding in Makefile.global in order to keep the -L
flag for src/port/ in front of any -L flags placed in LDFLAGS by configure.
This undoes an L-flag-ordering change that I had thought would be safe,
but seems to be making at least one buildfarm member fail --- the only
theory for orca's failure that I can think of is that it's got an old
copy of libpgport.a in /usr/lib.  Also allow for LDFLAGS_SL to be set by
contrib makefiles before they invoke Makefile.global.

15 years agoAdd note that using PL/Python 2 and 3 in the same session will probably crash
Peter Eisentraut [Tue, 6 Jul 2010 21:37:31 +0000 (21:37 +0000)]
Add note that using PL/Python 2 and 3 in the same session will probably crash

15 years agoSupport setting the keepalive idle time on MacOS X.
Robert Haas [Tue, 6 Jul 2010 21:14:25 +0000 (21:14 +0000)]
Support setting the keepalive idle time on MacOS X.

MacOS X uses TCP_KEEPALIVE rather than TCP_KEEPIDLE for this purpose.

Thanks to Fujii Masao for the review.

15 years agoUndo pgindent breakage (again). Per buildfarm.
Tom Lane [Tue, 6 Jul 2010 21:09:00 +0000 (21:09 +0000)]
Undo pgindent breakage (again).  Per buildfarm.

15 years agoMention why one C file fails pgindent.
Bruce Momjian [Tue, 6 Jul 2010 19:26:28 +0000 (19:26 +0000)]
Mention why one C file fails pgindent.

15 years agopgindent run for 9.0, second run
Bruce Momjian [Tue, 6 Jul 2010 19:19:02 +0000 (19:19 +0000)]
pgindent run for 9.0, second run

15 years agoUpdate pgindent testing instructions.
Bruce Momjian [Tue, 6 Jul 2010 19:18:19 +0000 (19:18 +0000)]
Update pgindent testing instructions.

15 years agoStill more third thoughts: when linking shared libraries, LDFLAGS probably
Tom Lane [Tue, 6 Jul 2010 03:55:33 +0000 (03:55 +0000)]
Still more third thoughts: when linking shared libraries, LDFLAGS probably
needs to appear before anything placed in SHLIB_LINK.  This is because
SHLIB_LINK is typically a subset of LIBS, and LIBS has to appear after
LDFLAGS on platforms that are sensitive to the relative order of -L and -l
switches.

15 years agoAllow for LDFLAGS_SL already having a value in Makefile.aix.
Tom Lane [Tue, 6 Jul 2010 03:41:02 +0000 (03:41 +0000)]
Allow for LDFLAGS_SL already having a value in Makefile.aix.
Per buildfarm results.

15 years agoDept. of third thoughts: PG_LIBS may contain a -L switch, so it had better
Tom Lane [Mon, 5 Jul 2010 23:40:13 +0000 (23:40 +0000)]
Dept. of third thoughts: PG_LIBS may contain a -L switch, so it had better
stay in front of LDFLAGS.

15 years agoMake sure LDFLAGS come before LIBS when linking contrib programs.
Tom Lane [Mon, 5 Jul 2010 23:30:50 +0000 (23:30 +0000)]
Make sure LDFLAGS come before LIBS when linking contrib programs.
Solaris, at least, seems to be sensitive to the relative order of -L
and -l switches, so this is needed.  Per buildfarm results.

15 years agoFix a few single-file (MODULES, not MODULE_big) contrib makefiles that were
Tom Lane [Mon, 5 Jul 2010 23:15:56 +0000 (23:15 +0000)]
Fix a few single-file (MODULES, not MODULE_big) contrib makefiles that were
supposing that they should set SHLIB_LINK rather than LDFLAGS_SL.  Since these
don't go through Makefile.shlib that was a no-op on most platforms.  Also
regularize the few platform-specific Makefiles that did pay attention to
SHLIB_LINK: it seems that the real value of that is to pull in BE_DLLLIBS,
so do that instead.  Per buildfarm failures on cygwin.

15 years agoSplit the LDFLAGS make variable into two parts: LDFLAGS is now used for
Tom Lane [Mon, 5 Jul 2010 18:54:38 +0000 (18:54 +0000)]
Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when
linking executables or LDFLAGS_SL when linking shared libraries.  This
provides a significantly cleaner way of dealing with link-time switches than
the former behavior.  Also, make sure that the various platform-specific
%.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
before.  (I did not add these variables for the platforms that invoke $(LD)
directly, however.  It's not clear if we can do that safely, since for the
most part we assume these variables use CC command-line syntax.)

Per gripe from Aaron Swenson and subsequent investigation.

15 years agoThe previous fix in CVS HEAD and 8.4 for handling the case where a cursor
Heikki Linnakangas [Mon, 5 Jul 2010 09:27:18 +0000 (09:27 +0000)]
The previous fix in CVS HEAD and 8.4 for handling the case where a cursor
being used in a PL/pgSQL FOR loop is closed was inadequate, as Tom Lane
pointed out. The bug affects FOR statement variants too, because you can
close an implicitly created cursor too by guessing the "<unnamed portal X>"
name created for it.

To fix that, "pin" the portal to prevent it from being dropped while it's
being used in a PL/pgSQL FOR loop. Backpatch all the way to 7.4 which is
the oldest supported version.

15 years agoSimplify test_fsync duration computation.
Bruce Momjian [Sun, 4 Jul 2010 13:42:51 +0000 (13:42 +0000)]
Simplify test_fsync duration computation.

15 years agoReport test_fynsc times in tests per second, instead of total seconds.
Bruce Momjian [Sun, 4 Jul 2010 01:50:29 +0000 (01:50 +0000)]
Report test_fynsc times in tests per second, instead of total seconds.

15 years agoRemove SGML tab.
Bruce Momjian [Sat, 3 Jul 2010 22:52:25 +0000 (22:52 +0000)]
Remove SGML tab.

15 years agoDon't set recoveryLastXTime when replaying a checkpoint --- that was a bogus
Tom Lane [Sat, 3 Jul 2010 22:15:45 +0000 (22:15 +0000)]
Don't set recoveryLastXTime when replaying a checkpoint --- that was a bogus
idea from the start since the variable is only meant to track commit/abort
events.  This patch reverts the logic around the variable to what it was in
8.4, except that the value is now kept in shared memory rather than a static
variable, so that it can be reported correctly by CreateRestartPoint (which is
executed in the bgwriter).

15 years agoMake vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible
Tom Lane [Sat, 3 Jul 2010 21:23:58 +0000 (21:23 +0000)]
Make vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible
to have different values in different processes of the primary server.
Also put it into the "Streaming Replication" GUC category; it doesn't belong
in "Standby Servers" because you use it on the master not the standby.
In passing also correct guc.c's idea of wal_keep_segments' category.

15 years agoReplace max_standby_delay with two parameters, max_standby_archive_delay and
Tom Lane [Sat, 3 Jul 2010 20:43:58 +0000 (20:43 +0000)]
Replace max_standby_delay with two parameters, max_standby_archive_delay and
max_standby_streaming_delay, and revise the implementation to avoid assuming
that timestamps found in WAL records can meaningfully be compared to clock
time on the standby server.  Instead, the delay limits are compared to the
elapsed time since we last obtained a new WAL segment from archive or since
we were last "caught up" to WAL data arriving via streaming replication.
This avoids problems with clock skew between primary and standby, as well
as other corner cases that the original coding would misbehave in, such
as the primary server having significant idle time between transactions.
Per my complaint some time ago and considerable ensuing discussion.

Do some desultory editing on the hot standby documentation, too.

15 years agoDocument more clearly on XML namespaces inside xpath function
Bruce Momjian [Sat, 3 Jul 2010 17:21:48 +0000 (17:21 +0000)]
Document more clearly on XML namespaces inside xpath function

Nikolay Samokhvalov

15 years agoMake pg_upgrade copyrights just 2010, not 2010-2010.
Bruce Momjian [Sat, 3 Jul 2010 16:33:15 +0000 (16:33 +0000)]
Make pg_upgrade copyrights just 2010, not 2010-2010.

15 years agoAdd copyrights to pg_upgrade and pg_upgrade_tools files, per Tom.
Bruce Momjian [Sat, 3 Jul 2010 16:25:01 +0000 (16:25 +0000)]
Add copyrights to pg_upgrade and pg_upgrade_tools files, per Tom.

15 years agoAdd CVS tags to pg_upgrade and pg_upgrade_support files, per request
Bruce Momjian [Sat, 3 Jul 2010 14:23:14 +0000 (14:23 +0000)]
Add CVS tags to pg_upgrade and pg_upgrade_support files, per request
from Tom.

15 years agoAllow REASSIGNED OWNED to handle opclasses and opfamilies.
Robert Haas [Sat, 3 Jul 2010 13:53:13 +0000 (13:53 +0000)]
Allow REASSIGNED OWNED to handle opclasses and opfamilies.

Backpatch to 8.3, which is as far back as we have opfamilies.
The opclass portion could probably be backpatched to 8.2, when
REASSIGN OWNED was added, but for now I have not done that.

Asko Tiidumaa, with minor adjustments by me.

15 years agoFix assorted misstatements and poor wording in the descriptions of the I/O
Tom Lane [Sat, 3 Jul 2010 04:03:06 +0000 (04:03 +0000)]
Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.

15 years agoAdditional cross-references to window functions documentation.
Robert Haas [Sat, 3 Jul 2010 02:57:46 +0000 (02:57 +0000)]
Additional cross-references to window functions documentation.

Erik Rijkers

15 years agoUnbreak MSVC builds by removing copydir.c from list of libpgport files
Andrew Dunstan [Fri, 2 Jul 2010 23:25:27 +0000 (23:25 +0000)]
Unbreak MSVC builds by removing copydir.c from list of libpgport files

15 years agoRemove hstore % text[] operator; use slice() function instead.
Robert Haas [Fri, 2 Jul 2010 20:36:49 +0000 (20:36 +0000)]
Remove hstore % text[] operator; use slice() function instead.

David Wheeler, with one small correction by me.

15 years agoMove copydir.c from src/port to src/backend/storage/file
Robert Haas [Fri, 2 Jul 2010 17:03:30 +0000 (17:03 +0000)]
Move copydir.c from src/port to src/backend/storage/file

The previous commit to make copydir() interruptible prevented
postgres.exe from linking on MinGW and Cygwin, because on those
platforms libpgport_srv.a can't freely reference symbols defined
by the backend.  Since that code is already backend-specific anyway,
just move the whole file into the backend rather than adding further
kludges to deal with the symbols needed by CHECK_FOR_INTERRUPTS().

This probably needs some further cleanup, but this commit just moves
the file as-is, which should hopefully be enough to turn the
buildfarm green again.

15 years agoIssue 'mkdir' hint when replying CREATE TABLESPACE in recovery mode.
Bruce Momjian [Fri, 2 Jul 2010 02:44:32 +0000 (02:44 +0000)]
Issue 'mkdir' hint when replying CREATE TABLESPACE in recovery mode.

Per idea from Fujii Masao

15 years agoAllow copydir() to be interrupted.
Robert Haas [Thu, 1 Jul 2010 20:12:40 +0000 (20:12 +0000)]
Allow copydir() to be interrupted.

This makes ALTER DATABASE .. SET TABLESPACE and CREATE