]> granicus.if.org Git - postgresql/log
postgresql
11 years agoAdjust cube.out expected output for new test queries.
Heikki Linnakangas [Tue, 22 Oct 2013 06:28:30 +0000 (09:28 +0300)]
Adjust cube.out expected output for new test queries.

Previous commit modified the test case, but I didn't update cube.out
expected output file in previous commit because it was not needed by the
platforms I have easy access to. Buildfarm animal 'dugong', running
"Debian 4.0 icc 10.1.011 ia64", has now gone red because of that, so update
it now.

Also adjust cube_3.out. According to git history, it was added to support
64-bit MinGW. There is no such animal in the buildfarm, so I'm doing this
blindly, but it was added quite recently so maybe someone still cares.

11 years agoFix blatantly broken record_image_cmp() logic for pass-by-value fields.
Tom Lane [Tue, 22 Oct 2013 04:38:53 +0000 (00:38 -0400)]
Fix blatantly broken record_image_cmp() logic for pass-by-value fields.

Doesn't anybody here pay attention to compiler warnings?

11 years agoExtend cube on-disk format to pack points more tightly.
Heikki Linnakangas [Mon, 21 Oct 2013 17:59:42 +0000 (20:59 +0300)]
Extend cube on-disk format to pack points more tightly.

If the lower left and upper right corners of a cube are the same, set a
flag in the cube header, and only store one copy of the coordinates. That
cuts the on-disk size into half for the common case that the cube datatype
is used to represent points rather than boxes.

The new format is backwards-compatible with the old one, so pg_upgrade
still works. However, to get the space savings, the data needs to be
rewritten. A simple VACUUM FULL or REINDEX is not enough, as the old
Datums will just be moved to the new heap/index as is. A pg_dump and
reload, or something similar like casting to text and back, will do the
trick.

This patch deliberately doesn't update all the alternative expected output
files, as I don't have access to machines that produce those outputs. I'm
not sure if they are still relevant, but if they are, the buildfarm will
tell us and produce the diff required to fix it. If none of the buildfarm
animals need them, they should be removed altogether.

Patch by Stas Kelvich.

11 years agodoc: Improve setup for documentation building with FOP
Peter Eisentraut [Wed, 11 Sep 2013 14:20:27 +0000 (10:20 -0400)]
doc: Improve setup for documentation building with FOP

Add a makefile rule for building PDFs with FOP.  Two new build targets
in doc/src/sgml are postgres-A4-fop.pdf and postgres-US-fop.pdf.

Run .fo output through xmllint for reformatting, so that errors are
easier to find.  (The default output has hardly any line breaks, so you
might be looking for an error in column 20000.)

Set some XSLT parameters to optimize for building with FOP.

Remove some redundant or somewhat useless chapterinfo/author
information, because it renders strangely with the FO stylesheet.

Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com>
11 years agoConsistently use unsigned arithmetic for alignment calculations.
Noah Misch [Mon, 21 Oct 2013 01:04:52 +0000 (21:04 -0400)]
Consistently use unsigned arithmetic for alignment calculations.

This avoids an assumption about the signed number representation.  It is
anticipated to have no functional changes on supported configurations;
many two's complement assumptions remain elsewhere.

Per a suggestion from Andres Freund.

11 years agoAdd libpgcommon to backend gettext source files
Peter Eisentraut [Sat, 19 Oct 2013 17:49:05 +0000 (13:49 -0400)]
Add libpgcommon to backend gettext source files

This ought to have been done when libpgcommon was split off from
libpgport.

11 years agoAdd *.pot to .gitignore
Peter Eisentraut [Sat, 19 Oct 2013 14:56:52 +0000 (10:56 -0400)]
Add *.pot to .gitignore

11 years agoMove rmtree() from libpgport to libpgcommon
Peter Eisentraut [Sat, 19 Oct 2013 14:20:51 +0000 (10:20 -0400)]
Move rmtree() from libpgport to libpgcommon

It requires pgfnames() from libpgcommon.

11 years agoMove pgfnames() from libpgport to libpgcommon
Peter Eisentraut [Sat, 19 Oct 2013 01:28:15 +0000 (21:28 -0400)]
Move pgfnames() from libpgport to libpgcommon

It requires pstrdup() from libpgcommon.

11 years agoAllow only some columns of a view to be auto-updateable.
Robert Haas [Fri, 18 Oct 2013 14:35:36 +0000 (10:35 -0400)]
Allow only some columns of a view to be auto-updateable.

Previously, unless all columns were auto-updateable, we wouldn't
inserts, updates, or deletes, or at least not without a rule or trigger;
now, we'll allow inserts and updates that target only the auto-updateable
columns, and deletes even if there are no auto-updateable columns at
all provided the view definition is otherwise suitable.

Dean Rasheed, reviewed by Marko Tiikkaja

11 years agoProvide a reliable mechanism for terminating a background worker.
Robert Haas [Fri, 18 Oct 2013 14:21:25 +0000 (10:21 -0400)]
Provide a reliable mechanism for terminating a background worker.

Although previously-introduced APIs allow the process that registers a
background worker to obtain the worker's PID, there's no way to prevent
a worker that is not currently running from being restarted.  This
patch introduces a new API TerminateBackgroundWorker() that prevents
the background worker from being restarted, terminates it if it is
currently running, and causes it to be unregistered if or when it is
not running.

Patch by me.  Review by Michael Paquier and KaiGai Kohei.

11 years agoFix for lack of va_copy() on certain Windows versions
Peter Eisentraut [Fri, 18 Oct 2013 12:29:18 +0000 (08:29 -0400)]
Fix for lack of va_copy() on certain Windows versions

Based-on-patch-by: David Rowley <dgrowleyml@gmail.com>
11 years agoAdd libpgport to isolationtester on MSVC
Peter Eisentraut [Fri, 18 Oct 2013 13:54:41 +0000 (09:54 -0400)]
Add libpgport to isolationtester on MSVC

From: Asif Naeem <anaeem.it@gmail.com>

11 years agoSwitch order of libpgport and libpgcommon in MSVC build as well
Peter Eisentraut [Fri, 18 Oct 2013 12:15:20 +0000 (08:15 -0400)]
Switch order of libpgport and libpgcommon in MSVC build as well

11 years agoRemove IRIX port.
Robert Haas [Fri, 18 Oct 2013 12:14:21 +0000 (08:14 -0400)]
Remove IRIX port.

Development of IRIX has been discontinued, and support is scheduled
to end in December of 2013.  Therefore, there will be no supported
versions of this operating system by the time PostgreSQL 9.4 is
released.  Furthermore, we have no maintainer for this platform.

11 years agoSwitch dependency order of libpgcommon and libpgport
Peter Eisentraut [Fri, 18 Oct 2013 01:52:54 +0000 (21:52 -0400)]
Switch dependency order of libpgcommon and libpgport

Continuing 63f32f3416a8b4f8e057dc184e8e8eae734ccc8a, libpgcommon should
depend on libpgport, but not vice versa.  But wait_result_to_str() in
wait_error.c depends on pstrdup() in libpgcommon.  So move exec.c and
wait_error.c from libpgport to libpgcommon.  Also switch the link order
in the place that's actually used by the failing ecpg builds.

The function declarations have been left in port.h for now.  That should
perhaps be separated sometime.

11 years agodoc: Configure TOC generation in XSLT HTML build
Peter Eisentraut [Fri, 18 Oct 2013 02:00:27 +0000 (22:00 -0400)]
doc: Configure TOC generation in XSLT HTML build

The default table of contents in the XSLT HTML build is much too big and
deep.  Configure it to look more like the one that is currently being
produced by the DSSSL build.

11 years agoRemove spinlock support for SINIX, Sun3, and NS32K.
Robert Haas [Thu, 17 Oct 2013 16:02:05 +0000 (12:02 -0400)]
Remove spinlock support for SINIX, Sun3, and NS32K.

All of these platforms are very much obsolete.

As far as I can determine, the last version of SINIX, later renamed
Reliant, occurred some time between 2002 and 2005.

The last release of SunOS that would run on a sun3 was released in
November of 1991; the last release of OpenBSD which supported that
platform was in 2001.  The highest clock speed of any processor in
the family was 25MHz.

The NS32K (national semiconductor 320xx) architecture was retired
in 1990.

Support can be re-added if a maintainer emerges for any of these
platforms, but it seems unlikely.

Reviewed by Andres Freund.

11 years agoReturn valid json when converting an empty hstore.
Andrew Dunstan [Thu, 17 Oct 2013 15:09:55 +0000 (11:09 -0400)]
Return valid json when converting an empty hstore.

Oskari Saarenmaa.

11 years agoSilence compiler warning when SSL not in use
Alvaro Herrera [Thu, 17 Oct 2013 14:27:02 +0000 (11:27 -0300)]
Silence compiler warning when SSL not in use

Per Jaime Casanova and Vik Fearing

11 years agoAllow 5+ digit years for non-ISO timestamp/date strings, where appropriate
Bruce Momjian [Wed, 16 Oct 2013 17:22:55 +0000 (13:22 -0400)]
Allow 5+ digit years for non-ISO timestamp/date strings, where appropriate

Report from Haribabu Kommi

11 years agoinitdb: Suppress dynamic shared memory when probing for max_connections.
Robert Haas [Wed, 16 Oct 2013 13:41:03 +0000 (09:41 -0400)]
initdb: Suppress dynamic shared memory when probing for max_connections.

This might not be the right long-term solution here, but it will
hopefully turn the buildfarm green again.

Oversight noted by Andres Freund

11 years agoSwitch order of -lpgport and -lpgcommon
Peter Eisentraut [Wed, 16 Oct 2013 03:03:42 +0000 (23:03 -0400)]
Switch order of -lpgport and -lpgcommon

Conceptually, libpgcommon can depend on libpgport, but not the other way
around.  In the past, this might not have mattered, but it's needed now
for asprintf.

11 years agodoc: Enable book index in XSLT builds
Peter Eisentraut [Wed, 16 Oct 2013 02:54:36 +0000 (22:54 -0400)]
doc: Enable book index in XSLT builds

The XSLT toolchain requires an empty <index> element where the index is
supposed to appear.  Add that with conditionals to hide it from the
DSSSL build.

11 years agodocs: correct 9.1 and 9.2 release note mention of timeline switch fix
Bruce Momjian [Tue, 15 Oct 2013 14:34:05 +0000 (10:34 -0400)]
docs: correct 9.1 and 9.2 release note mention of timeline switch fix

Backpatch through 9.1.

KONDO Mitsumasa

11 years agoIn dsm_impl_windows, don't error out when the segment already exists.
Robert Haas [Mon, 14 Oct 2013 15:48:49 +0000 (11:48 -0400)]
In dsm_impl_windows, don't error out when the segment already exists.

This is the behavior of the other implementations, and the behavior
expected by the callers of this function.

Amit Kapila

11 years agoFix details missed by dynamic shared memory patch.
Robert Haas [Mon, 14 Oct 2013 12:00:26 +0000 (08:00 -0400)]
Fix details missed by dynamic shared memory patch.

Additional documentation update, and a comment fix.

Both issues reported by Amit Kapila.

11 years agoTranslation updates to fix build failures
Peter Eisentraut [Mon, 14 Oct 2013 02:13:43 +0000 (22:13 -0400)]
Translation updates to fix build failures

Now that msgfmt is run with -c by default, older versions of gettext are
complaining about the PO headers Last-Translator and Language-Team
still having their default values.  Newer gettext versions fail to catch
this because of a bug (https://savannah.gnu.org/bugs/?40261), which is
why this hasn't been noticed before.

Copy updated versions of affected translation files from the
pgtranslations repository, were those files have been fixed.

11 years agoAdd asprintf.c
Peter Eisentraut [Mon, 14 Oct 2013 01:56:47 +0000 (21:56 -0400)]
Add asprintf.c

Forgotten in 5b6d08cd2992922b667564a49f19580f11676050

11 years agoAttempt to fix MSVC build for asprintf addition
Peter Eisentraut [Mon, 14 Oct 2013 01:55:17 +0000 (21:55 -0400)]
Attempt to fix MSVC build for asprintf addition

11 years agoAdd use of asprintf()
Peter Eisentraut [Sun, 13 Oct 2013 04:09:18 +0000 (00:09 -0400)]
Add use of asprintf()

Add asprintf(), pg_asprintf(), and psprintf() to simplify string
allocation and composition.  Replacement implementations taken from
NetBSD.

Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Asif Naeem <anaeem.it@gmail.com>
11 years agoTweak "line" test to avoid platform-specific floating-point output
Peter Eisentraut [Sun, 13 Oct 2013 01:17:59 +0000 (21:17 -0400)]
Tweak "line" test to avoid platform-specific floating-point output

11 years agoFix several possibly non-portable gaffs in record_image_ops.
Kevin Grittner [Fri, 11 Oct 2013 18:02:52 +0000 (13:02 -0500)]
Fix several possibly non-portable gaffs in record_image_ops.

Sparc machines in the buildfarm were made happy by the previous
fix, but PowerPC machines still are still failing.  Hopefully this
will cure that.

11 years agoUse $(PERL) to invoke duplicate_oids
Alvaro Herrera [Fri, 11 Oct 2013 02:42:11 +0000 (23:42 -0300)]
Use $(PERL) to invoke duplicate_oids

Per buildfarm failure reported by smilodon

11 years agoRework SSL renegotiation code
Alvaro Herrera [Fri, 11 Oct 2013 02:45:20 +0000 (23:45 -0300)]
Rework SSL renegotiation code

The existing renegotiation code was home for several bugs: it might
erroneously report that renegotiation had failed; it might try to
execute another renegotiation while the previous one was pending; it
failed to terminate the connection if the renegotiation never actually
took place; if a renegotiation was started, the byte count was reset,
even if the renegotiation wasn't completed (this isn't good from a
security perspective because it means continuing to use a session that
should be considered compromised due to volume of data transferred.)

The new code is structured to avoid these pitfalls: renegotiation is
started a little earlier than the limit has expired; the handshake
sequence is retried until it has actually returned successfully, and no
more than that, but if it fails too many times, the connection is
closed.  The byte count is reset only when the renegotiation has
succeeded, and if the renegotiation byte count limit expires, the
connection is terminated.

This commit only touches the master branch, because some of the changes
are controversial.  If everything goes well, a back-patch might be
considered.

Per discussion started by message
20130710212017.GB4941@eldon.alvh.no-ip.org

11 years agodoc: Move check-tabs target into html target
Peter Eisentraut [Fri, 11 Oct 2013 01:53:34 +0000 (21:53 -0400)]
doc: Move check-tabs target into html target

The previous plan of having the check-tabs target a prerequisite of
"all" and "distprep" caused make distcheck to fail because make -q
distprep would never be satisfied.  Put check-tabs into the html target
instead, so it is only called when a build actually happens.

11 years agodoc: Fix table column number declaration
Peter Eisentraut [Fri, 11 Oct 2013 01:17:31 +0000 (21:17 -0400)]
doc: Fix table column number declaration

11 years agodoc: Handle additional character entities for SGML/XML conversion
Peter Eisentraut [Fri, 11 Oct 2013 01:14:33 +0000 (21:14 -0400)]
doc: Handle additional character entities for SGML/XML conversion

11 years agoRemove maintainer-check target, fold into normal build
Peter Eisentraut [Wed, 11 Sep 2013 18:34:28 +0000 (14:34 -0400)]
Remove maintainer-check target, fold into normal build

make maintainer-check was obscure and rarely called in practice, and
many breakages were missed.  Fold everything that make maintainer-check
used to do into the normal build.  Specifically:

- Call duplicate_oids when genbki.pl is called.

- Check for tabs in SGML files when the documentation is built.

- Run msgfmt with the -c option during the regular build.  Add an
  additional configure check to see whether we are using the GNU
  version.  (make maintainer-check probably used to fail with non-GNU
  msgfmt.)

Keep maintainer-check as around as phony target for the time being in
case anyone is calling it.  But it won't do anything anymore.

11 years agoReplace duplicate_oids with Perl implementation
Peter Eisentraut [Wed, 11 Sep 2013 18:47:44 +0000 (14:47 -0400)]
Replace duplicate_oids with Perl implementation

It is more portable, more robust, and more readable.

From: Andrew Dunstan <andrew@dunslane.net>

11 years agoUpdate regression tests for line type patch
Peter Eisentraut [Thu, 10 Oct 2013 23:59:15 +0000 (19:59 -0400)]
Update regression tests for line type patch

Erroneously omitted in 261c7d4b653bc3e44c31fd456d94f292caa50d8f

11 years agoinitdb: Select working dynamic shared memory implementation.
Robert Haas [Thu, 10 Oct 2013 23:38:56 +0000 (19:38 -0400)]
initdb: Select working dynamic shared memory implementation.

If POSIX shared memory is supported and works, we prefer it.
Otherwise, we prefer System V, except on Windows, where we use
the implementation specific to that platform.

11 years agoFix bug in record_image_ops on big endian machines.
Kevin Grittner [Thu, 10 Oct 2013 16:23:31 +0000 (11:23 -0500)]
Fix bug in record_image_ops on big endian machines.

The buildfarm pointed out the problem.

Fix based on suggestion by Robert Haas.

11 years agojson_typeof function.
Andrew Dunstan [Thu, 10 Oct 2013 16:21:59 +0000 (12:21 -0400)]
json_typeof function.

Andrew Tipton.

11 years agoFix incorrect use of shm_unlink where unlink should be used.
Robert Haas [Thu, 10 Oct 2013 14:56:19 +0000 (10:56 -0400)]
Fix incorrect use of shm_unlink where unlink should be used.

Per buildfarm.

11 years agopg_upgrade: Split off pg_fatal() from pg_log()
Peter Eisentraut [Wed, 2 Oct 2013 01:24:56 +0000 (21:24 -0400)]
pg_upgrade: Split off pg_fatal() from pg_log()

This allows decorating pg_fatal() with noreturn compiler hints, leading
to better diagnostics.

Reviewed-by: Marko Tiikkaja <marko@joh.to>
11 years agoRevive line type
Peter Eisentraut [Wed, 9 Oct 2013 05:09:18 +0000 (01:09 -0400)]
Revive line type

Change the input/output format to {A,B,C}, to match the internal
representation.

Complete the implementations of line_in, line_out, line_recv, line_send.
Remove comments and error messages about the line type not being
implemented.  Add regression tests for existing line operators and
functions.

Reviewed-by: rui hua <365507506hua@gmail.com>
Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com>
Reviewed-by: Jeevan Chalke <jeevan.chalke@enterprisedb.com>
11 years agoAllow dynamic allocation of shared memory segments.
Robert Haas [Thu, 10 Oct 2013 01:05:02 +0000 (21:05 -0400)]
Allow dynamic allocation of shared memory segments.

Patch by myself and Amit Kapila.  Design help from Noah Misch.  Review
by Andres Freund.

11 years agoAdd record_image_ops opclass for matview concurrent refresh.
Kevin Grittner [Wed, 9 Oct 2013 19:26:09 +0000 (14:26 -0500)]
Add record_image_ops opclass for matview concurrent refresh.

REFRESH MATERIALIZED VIEW CONCURRENTLY was broken for any matview
containing a column of a type without a default btree operator
class.  It also did not produce results consistent with a non-
concurrent REFRESH or a normal view if any column was of a type
which allowed user-visible differences between values which
compared as equal according to the type's default btree opclass.
Concurrent matview refresh was modified to use the new operators
to solve these problems.

Documentation was added for record comparison, both for the
default btree operator class for record, and the newly added
operators.  Regression tests now check for proper behavior both
for a matview with a box column and a matview containing a citext
column.

Reviewed by Steve Singer, who suggested some of the doc language.

11 years agodoc: fix typo in release notes
Bruce Momjian [Wed, 9 Oct 2013 12:44:52 +0000 (08:44 -0400)]
doc:  fix typo in release notes

Backpatch through 8.4

Per suggestion by Amit Langote

11 years agoCentralize effective_cache_size default setting
Bruce Momjian [Wed, 9 Oct 2013 12:33:12 +0000 (08:33 -0400)]
Centralize effective_cache_size default setting

11 years agoAdjust the effective_cache_size default for standalone backends
Bruce Momjian [Wed, 9 Oct 2013 03:53:39 +0000 (23:53 -0400)]
Adjust the effective_cache_size default for standalone backends

11 years agoAgain move function where we set effective_cache_size's default
Bruce Momjian [Wed, 9 Oct 2013 03:12:45 +0000 (23:12 -0400)]
Again move function where we set effective_cache_size's default

11 years agoMove new effective_cache_size function
Bruce Momjian [Wed, 9 Oct 2013 02:41:23 +0000 (22:41 -0400)]
Move new effective_cache_size function

Previously set_default_effective_cache_size() could not handle fork,
non-fork, and bootstrap cases.

11 years agoFix C comment in check_effective_cache_size()
Bruce Momjian [Tue, 8 Oct 2013 23:25:26 +0000 (19:25 -0400)]
Fix C comment in check_effective_cache_size()

11 years agodoc: Fix typo in effective_cache_size patch
Bruce Momjian [Tue, 8 Oct 2013 23:02:35 +0000 (19:02 -0400)]
doc:  Fix typo in effective_cache_size patch

11 years agoAllow drop-index-concurrently-1 test to run at any isolation level.
Kevin Grittner [Tue, 8 Oct 2013 21:55:12 +0000 (16:55 -0500)]
Allow drop-index-concurrently-1 test to run at any isolation level.

It previously reported failure at REPEATABLE READ and SERIALIZABLE
transaction isolation levels for make installcheck.

11 years agoUpdate postgres.conf.sample for effective_cache_size's new default
Bruce Momjian [Tue, 8 Oct 2013 16:50:05 +0000 (12:50 -0400)]
Update postgres.conf.sample for effective_cache_size's new default

11 years agodocs: clarify references to md5 hash and md5 crypt in pgcrypto docs
Bruce Momjian [Tue, 8 Oct 2013 16:24:02 +0000 (12:24 -0400)]
docs:  clarify references to md5 hash and md5 crypt in pgcrypto docs

Suggestion from Richard Neill

11 years agounaccent: mark unaccent() functions as immutable
Bruce Momjian [Tue, 8 Oct 2013 16:20:36 +0000 (12:20 -0400)]
unaccent:  mark unaccent() functions as immutable

Suggestion from Pavel Stehule

11 years agoAuto-tune effective_cache size to be 4x shared buffers
Bruce Momjian [Tue, 8 Oct 2013 16:12:24 +0000 (12:12 -0400)]
Auto-tune effective_cache size to be 4x shared buffers

11 years agoAdditional instructions on minor release note creation.
Bruce Momjian [Tue, 8 Oct 2013 14:29:43 +0000 (10:29 -0400)]
Additional instructions on minor release note creation.

11 years agoUpdate instructions on creating minor release notes.
Bruce Momjian [Tue, 8 Oct 2013 13:48:29 +0000 (09:48 -0400)]
Update instructions on creating minor release notes.

11 years agodocs: update release notes for 8.4.18, 9.0.14, 9.1.10, 9.2.5, 9.3.1
Bruce Momjian [Tue, 8 Oct 2013 01:35:02 +0000 (21:35 -0400)]
docs:  update release notes for 8.4.18, 9.0.14, 9.1.10, 9.2.5, 9.3.1

11 years agoTYPEALIGN doesn't work on int64 on 32-bit platforms.
Heikki Linnakangas [Mon, 7 Oct 2013 22:59:57 +0000 (01:59 +0300)]
TYPEALIGN doesn't work on int64 on 32-bit platforms.

The TYPEALIGN macro, and the related ones like MAXALIGN, don't work with
values larger than intptr_t, because TYPEALIGN casts the argument to
intptr_t to do the arithmetic. That's not a problem when dealing with
pointers or lengths or offsets related to pointers, but the XLogInsert
scaling patch added a call to MAXALIGN with an XLogRecPtr argument.

To fix, add wider variants of the macros, called TYPEALIGN64 and MAXALIGN64,
which are just like the existing variants but work with uint64 instead of
intptr_t.

Report and patch by David Rowley, analysis by Andres Freund.

11 years agoFix bugs in SSI tuple locking.
Heikki Linnakangas [Mon, 7 Oct 2013 20:57:40 +0000 (23:57 +0300)]
Fix bugs in SSI tuple locking.

1. In heap_hot_search_buffer(), the PredicateLockTuple() call is passed
wrong offset number. heapTuple->t_self is set to the tid of the first
tuple in the chain that's visited, not the one actually being read.

2. CheckForSerializableConflictIn() uses the tuple's t_ctid field
instead of t_self to check for exiting predicate locks on the tuple. If
the tuple was updated, but the updater rolled back, t_ctid points to the
aborted dead tuple.

Reported by Hannu Krosing. Backpatch to 9.1.

11 years agoTranslation updates
Peter Eisentraut [Mon, 7 Oct 2013 20:27:04 +0000 (16:27 -0400)]
Translation updates

11 years agoMake DISCARD SEQUENCES also discard the last used sequence.
Robert Haas [Mon, 7 Oct 2013 19:55:56 +0000 (15:55 -0400)]
Make DISCARD SEQUENCES also discard the last used sequence.

Otherwise, we access already-freed memory.  Oops.

Report by Michael Paquier.  Fix by me.

11 years agoplpgsql: Add new option print_strict_params.
Robert Haas [Mon, 7 Oct 2013 19:38:49 +0000 (15:38 -0400)]
plpgsql: Add new option print_strict_params.

This option provides more detailed error messages when STRICT is used
and the number of rows returned is not one.

Marko Tiikkaja, reviewed by Ian Lawrence Barwick

11 years agoEliminate xmin from hash tag for predicate locks on heap tuples.
Kevin Grittner [Mon, 7 Oct 2013 19:16:54 +0000 (14:16 -0500)]
Eliminate xmin from hash tag for predicate locks on heap tuples.

If a tuple was frozen while its predicate locks mattered,
read-write dependencies could be missed, resulting in failure to
detect conflicts which could lead to anomalies in committed
serializable transactions.

This field was added to the tag when we still thought that it was
necessary to carry locks forward to a new version of an updated
row.  That was later proven to be unnecessary, which allowed
simplification of the code, but elimination of xmin from the tag
was missed at the time.

Per report and analysis by Heikki Linnakangas.
Backpatch to 9.1.

11 years agoDocument support for VPATH builds of extensions.
Andrew Dunstan [Mon, 7 Oct 2013 02:57:16 +0000 (22:57 -0400)]
Document support for VPATH builds of extensions.

Cédric Villemain and me.

11 years agopgbench: Comment on thread timing hazards.
Noah Misch [Sun, 6 Oct 2013 13:56:43 +0000 (09:56 -0400)]
pgbench: Comment on thread timing hazards.

Reviewed by Fabien COELHO.

11 years agoFix various bugs in postmaster SIGKILL processing
Alvaro Herrera [Sun, 6 Oct 2013 02:24:50 +0000 (23:24 -0300)]
Fix various bugs in postmaster SIGKILL processing

Clamp the minimum sleep time during immediate shutdown or crash to a
minimum of zero, not a maximum of one second.  The previous code could
result in a negative sleep time, leading to failure in select() calls.

Also, on crash recovery, reset AbortStartTime as soon as SIGKILL is sent
or abort processing has commenced instead of waiting until the startup
process completes.  Reset AbortStartTime as soon as SIGKILL is sent,
too, to avoid doing that repeatedly.

Per trouble report from Jeff Janes on
CAMkU=1xd3=wFqZwwuXPWe4BQs3h1seYo8LV9JtSjW5RodoPxMg@mail.gmail.com

Author: MauMau

11 years agopgbench: Elaborate latency reporting.
Noah Misch [Sat, 5 Oct 2013 21:33:38 +0000 (17:33 -0400)]
pgbench: Elaborate latency reporting.

Isolate transaction latency (elapsed time between submitting first
command and receiving response to last command) from client-side delays
pertaining to the --rate schedule.  Under --rate, report schedule lag as
defined in the documentation.  Report latency standard deviation
whenever we collect the measurements to do so.  All of these changes
affect --progress messages and the final report.

Fabien COELHO, reviewed by Pavel Stehule.

11 years agopgbench: Remove stray use of "float" math.
Noah Misch [Sat, 5 Oct 2013 21:19:37 +0000 (17:19 -0400)]
pgbench: Remove stray use of "float" math.

Oversight in commit 4a87f308b33457670f9ab4bc622678e5d285b9c2.

Fabien COELHO

11 years agopg_upgrade doc: link mode additions
Bruce Momjian [Sat, 5 Oct 2013 14:18:02 +0000 (10:18 -0400)]
pg_upgrade doc: link mode additions

Mention that link mode uses less disk space, and uses junction points on
Windows.

Backpatch to 9.3.

11 years agoadd multixact-no-deadlock to schedule
Alvaro Herrera [Fri, 4 Oct 2013 17:25:30 +0000 (14:25 -0300)]
add multixact-no-deadlock to schedule

11 years agoMake some isolationtester specs more complete
Alvaro Herrera [Fri, 4 Oct 2013 17:24:46 +0000 (14:24 -0300)]
Make some isolationtester specs more complete

Also, make sure they pass on all transaction isolation levels.

11 years agoisolationtester: Allow tuples to be returned in more places
Alvaro Herrera [Fri, 4 Oct 2013 13:32:48 +0000 (10:32 -0300)]
isolationtester: Allow tuples to be returned in more places

Previously, isolationtester would forbid returning tuples in
session-specific teardown (but not global teardown), as well as in
global setup.  Allow these places to return tuples, too.

11 years agoIssue error on SET outside transaction block in some cases
Bruce Momjian [Fri, 4 Oct 2013 17:50:28 +0000 (13:50 -0400)]
Issue error on SET outside transaction block in some cases

Issue error for SET LOCAL/CONSTRAINTS/TRANSACTION outside a transaction
block, as they have no effect.

Per suggestion from Morten Hustveit

11 years agodoc: Add missing words to bgworker docs.
Robert Haas [Fri, 4 Oct 2013 15:13:50 +0000 (11:13 -0400)]
doc: Add missing words to bgworker docs.

Maciek Sakrejda

11 years agoFix silly thinko in ResetSequenceCaches.
Robert Haas [Fri, 4 Oct 2013 00:17:51 +0000 (20:17 -0400)]
Fix silly thinko in ResetSequenceCaches.

Report from Kevin Hale Boyes.

11 years agoAdd DISCARD SEQUENCES command.
Robert Haas [Thu, 3 Oct 2013 20:17:18 +0000 (16:17 -0400)]
Add DISCARD SEQUENCES command.

DISCARD ALL will now discard cached sequence information, as well.

Fabrízio de Royes Mello, reviewed by Zoltán Böszörményi, with some
further tweaks by me.

11 years agopsql: Make \pset without arguments show all settings.
Robert Haas [Thu, 3 Oct 2013 19:18:02 +0000 (15:18 -0400)]
psql: Make \pset without arguments show all settings.

Gilles Darold, reviewed by Pavel Stehule

11 years agoMinor GIN code refactoring.
Heikki Linnakangas [Thu, 3 Oct 2013 08:47:17 +0000 (11:47 +0300)]
Minor GIN code refactoring.

It makes for cleaner code to have separate Get/Add functions for PostingItems
and ItemPointers.  A few callsites that have to deal with both types need to
be duplicated because of this, but all the callers have to know which one
they're dealing with anyway. Overall, this reduces the amount of casting
required.

Extracted from Alexander Korotkov's larger patch to change the data page
format.

11 years agodoc: Correct psycopg URL
Peter Eisentraut [Thu, 3 Oct 2013 01:33:26 +0000 (21:33 -0400)]
doc: Correct psycopg URL

11 years agopsql: Set up cancel handler later
Peter Eisentraut [Thu, 3 Oct 2013 01:05:08 +0000 (21:05 -0400)]
psql: Set up cancel handler later

The cancel handler was uselessly set up even before the first connection
was opened.  By setting it up afterwards, the user can use Ctrl+C to
abort psql if the initial connection attempt hangs.

Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com>
Reviewed-by: Ryan Kelly <rpkelly22@gmail.com>
11 years agodoc: fix hstore_to_json_loose() doc wording
Bruce Momjian [Wed, 2 Oct 2013 23:25:24 +0000 (19:25 -0400)]
doc: fix hstore_to_json_loose() doc wording

11 years agoFix copy/paste error
Magnus Hagander [Wed, 2 Oct 2013 14:42:36 +0000 (16:42 +0200)]
Fix copy/paste error

11 years agoAdjust C comments that would be wrap-able.
Bruce Momjian [Tue, 1 Oct 2013 23:44:53 +0000 (19:44 -0400)]
Adjust C comments that would be wrap-able.

11 years agoAdd WaitForLockers in lmgr, refactoring index.c code
Alvaro Herrera [Fri, 27 Sep 2013 14:46:33 +0000 (11:46 -0300)]
Add WaitForLockers in lmgr, refactoring index.c code

This is in support of a future REINDEX CONCURRENTLY feature.

Michael Paquier

11 years agoRemove broken PGXS code for pg_xlogdump
Alvaro Herrera [Tue, 1 Oct 2013 20:36:15 +0000 (17:36 -0300)]
Remove broken PGXS code for pg_xlogdump

With the PGXS boilerplate in place, pg_xlogdump currently fails with an
ominous error message that certain targets cannot be built because
certain files do not exist.  Remove that and instead throw a quick error
message alerting the user of the actual problem, which should be easier
to diagnose that the statu quo.

Andres Freund

11 years agoAdd missing condition for pg_depend in hstore migration script.
Andrew Dunstan [Mon, 30 Sep 2013 15:33:54 +0000 (11:33 -0400)]
Add missing condition for pg_depend in hstore migration script.

Error noted by Andres Freund.

11 years agoEnsure installation dirs are built before contents are installed (v2)
Andrew Dunstan [Mon, 30 Sep 2013 14:17:30 +0000 (10:17 -0400)]
Ensure installation dirs are built before contents are installed (v2)

Push dependency on installdirs down to individual targets.

Christoph Berg

11 years agoIn bms_add_member(), use repalloc() if the bms needs to be enlarged.
Heikki Linnakangas [Mon, 30 Sep 2013 13:37:00 +0000 (16:37 +0300)]
In bms_add_member(), use repalloc() if the bms needs to be enlarged.

Previously bms_add_member() would palloc a whole-new copy of the existing
set, copy the words, and pfree the old one. repalloc() is potentially much
faster, and more importantly, this is less surprising if CurrentMemoryContext
is not the same as the context the old set is in. bms_add_member() still
allocates a new bitmapset in CurrentMemoryContext if NULL is passed as
argument, but that is a lot less likely to induce bugs.

Nicholas White.

11 years agoFix snapshot leak if lo_open called on non-existent object.
Heikki Linnakangas [Mon, 30 Sep 2013 08:29:09 +0000 (11:29 +0300)]
Fix snapshot leak if lo_open called on non-existent object.

lo_open registers the currently active snapshot, and checks if the
large object exists after that. Normally, snapshots registered by lo_open
are unregistered at end of transaction when the lo descriptor is closed, but
if we error out before the lo descriptor is added to the list of open
descriptors, it is leaked. Fix by moving the snapshot registration to after
checking if the large object exists.

Reported by Pavel Stehule. Backpatch to 8.4. The snapshot registration
system was introduced in 8.4, so prior versions are not affected (and not
supported, anyway).

11 years agoCorrect comment of pgbench "filler" columns.
Fujii Masao [Mon, 30 Sep 2013 03:35:54 +0000 (12:35 +0900)]
Correct comment of pgbench "filler" columns.

Pavan Deolasee

11 years agoFix makefile broken by hstore fix.
Andrew Dunstan [Mon, 30 Sep 2013 02:46:55 +0000 (22:46 -0400)]
Fix makefile broken by hstore fix.

11 years agoUse a new hstore extension version for added json functions.
Andrew Dunstan [Sun, 29 Sep 2013 21:41:56 +0000 (17:41 -0400)]
Use a new hstore extension version for added json functions.

This should have been done when the json functionality was added to
hstore in 9.3.0. To handle this correctly, the upgrade script therefore
uses conditional logic by using plpgsql in a DO statement to add the two
new functions and the new cast. If hstore_to_json_loose is detected as
already present and dependent on the hstore extension nothing is done.
This will require that the database be loaded with plpgsql.

People who have installed the earlier and spurious 1.1 version of hstore
will need to do:

ALTER EXTENSION hstore UPDATE;

to pick up the new functions properly.

11 years agoEnsure installation dirs are built before contents are installed.
Andrew Dunstan [Sun, 29 Sep 2013 20:12:58 +0000 (16:12 -0400)]
Ensure installation dirs are built before contents are installed.

Cédric Villemain