summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-05Assorted message fixes and improvementsPeter Eisentraut
2014-09-05Add tab-completion for reloptions like user_catalog_table.Fujii Masao
Back-patch to 9.4 where user_catalog_table was added. Review by Michael Paquier
2014-09-04doc: Remove dead linkPeter Eisentraut
The link to the NIST web page about DES standards leads to nowhere, and according to archive.org has been forwarded to an unrelated page for many years. Therefore, just remove that link. More up to date information can be found via Wikipedia, for example.
2014-09-05Fix segmentation fault that an empty prepared statement could cause.Fujii Masao
Back-patch to all supported branches. Per bug #11335 from Haruka Takatsuka
2014-09-04docs: Improve documentation of \pset without arguments.Fujii Masao
The syntax summary previously failed to clarify that the first argument is also optional. The textual description did mention it, but all the way at the bottom. It fits better with the command overview, so move it there, and fix the summary also. Back-patch to 9.4 where \pset without arguments was supported. Dilip Kumar, reviewed by Fabien Coelho
2014-09-03Update URL reference material in /contrib/isn docsBruce Momjian
Report by Peter Eisentraut
2014-09-03Document use of partial indexes for partial unique constraintsBruce Momjian
Report by Tomáš Greif Backpatch through 9.4
2014-09-02Silence warning on new versions of clang.Heikki Linnakangas
Andres Freund
2014-09-01Add skip-empty-xacts option to test_decoding for use in the regression tests.Andres Freund
The regression tests for contrib/test_decoding regularly failed on postgres instances that were very slow. Either because the hardware itself was slow or because very expensive debugging options like CLOBBER_CACHE_ALWAYS were used. The reason they failed was just that some additional transactions were decoded. Analyze and vacuum, triggered by autovac. To fix just add a option to test_decoding to only display transactions in which a change was actually displayed. That's not pretty because it removes information from the tests; but better than constantly failing tests in very likely harmless ways. Backpatch to 9.4 where logical decoding was introduced. Discussion: 20140629142511.GA26930@awork2.anarazel.de
2014-09-01Declare lwlock.c's LWLockAcquireCommon() as a static inline.Andres Freund
68a2e52bbaf98f136 has introduced LWLockAcquireCommon() containing the previous contents of LWLockAcquire() plus added functionality. The latter then calls it, just like LWLockAcquireWithVar(). Because the majority of callers don't need the added functionality, declare the common code as inline. The compiler then can optimize away the unused code. Doing so is also useful when looking at profiles, to differentiate the users. Backpatch to 9.4, the first branch to contain LWLockAcquireCommon().
2014-08-30doc: Various typo/grammar fixesKevin Grittner
Errors detected using Topy (https://github.com/intgr/topy), all changes verified by hand and some manual tweaks added. Marti Raudsepp Individual changes backpatched, where applicable, as far as 9.0.
2014-08-29pg_is_xlog_replay_paused(): remove super-user-only restrictionBruce Momjian
Also update docs to mention which function are super-user-only. Report by sys-milan@statpro.com Backpatch through 9.4
2014-08-29Fix bug in compressed GIN data leaf page splitting code.Heikki Linnakangas
The list of posting lists it's dealing with can contain placeholders for deleted posting lists. The placeholders are kept around so that they can be WAL-logged, but we must be careful to not try to access them. This fixes bug #11280, reported by Mårten Svantesson. Backpatch to 9.4, where the compressed data leaf page code was added.
2014-08-29Assorted message improvementsPeter Eisentraut
2014-08-28doc: Revert ALTER TABLESPACE summary linePeter Eisentraut
It was changed when ALTER TABLESPACE / MOVE was added but then not updated when that was moved back out.
2014-08-28Fix citext upgrade script for disallowance of oidvector element assignment.Tom Lane
In commit 45e02e3232ac7cc5ffe36f7986159b5e0b1f6fdc, we intentionally disallowed updates on individual elements of oidvector columns. While that still seems like a sane idea in the abstract, we (I) forgot that citext's "upgrade from unpackaged" script did in fact perform exactly such updates, in order to fix the problem that citext indexes should have a collation but would not in databases dumped or upgraded from pre-9.1 installations. Even if we wanted to add casts to allow such updates, there's no practical way to do so in the back branches, so the only real alternative is to make citext's kluge even klugier. In this patch, I cast the oidvector to text, fix its contents with regexp_replace, and cast back to oidvector. (Ugh!) Since the aforementioned commit went into all active branches, we have to fix this in all branches that contain the now-broken update script. Per report from Eric Malm.
2014-08-27Fix FOR UPDATE NOWAIT on updated tuple chainsAlvaro Herrera
If SELECT FOR UPDATE NOWAIT tries to lock a tuple that is concurrently being updated, it might fail to honor its NOWAIT specification and block instead of raising an error. Fix by adding a no-wait flag to EvalPlanQualFetch which it can pass down to heap_lock_tuple; also use it in EvalPlanQualFetch itself to avoid blocking while waiting for a concurrent transaction. Authors: Craig Ringer and Thomas Munro, tweaked by Álvaro http://www.postgresql.org/message-id/51FB6703.9090801@2ndquadrant.com Per Thomas Munro in the course of his SKIP LOCKED feature submission, who also provided one of the isolation test specs. Backpatch to 9.4, because that's as far back as it applies without conflicts (although the bug goes all the way back). To that branch also backpatch Thomas Munro's new NOWAIT test cases, committed in master by Heikki as commit 9ee16b49f0aac819bd4823d9b94485ef608b34e8 .
2014-08-26Fix Var handling for security barrier viewsStephen Frost
In some cases, not all Vars were being correctly marked as having been modified for updatable security barrier views, which resulted in invalid plans (eg: when security barrier views were created over top of inheiritance structures). In passing, be sure to update both varattno and varonattno, as _equalVar won't consider the Vars identical otherwise. This isn't known to cause any issues with updatable security barrier views, but was noticed as missing while working on RLS and makes sense to get fixed. Back-patch to 9.4 where updatable security barrier views were introduced.
2014-08-26Fix superuser concurrent refresh of matview owned by another.Kevin Grittner
Use SECURITY_LOCAL_USERID_CHANGE while building temporary tables; only escalate to SECURITY_RESTRICTED_OPERATION while potentially running user-supplied code. The more secure mode was preventing temp table creation. Add regression tests to cover this problem. This fixes Bug #11208 reported by Bruno Emanuel de Andrade Silva. Backpatch to 9.4, where the bug was introduced.
2014-08-25upgrade docs: highlight pg_upgrade, warn about globals preservationBruce Momjian
Also, remove OID preservation mention, mention non-text dump formats Backpatch through 9.4
2014-08-25Revert XactLockTableWait context setup in conditional multixact waitAlvaro Herrera
There's no point in setting up a context error callback when doing conditional lock acquisition, because we never actually wait and so the able wouldn't be able to see it. Backpatch to 9.4, where this was added.
2014-08-25Fix typos in some error messages thrown by extension scripts when fed to psql.Andres Freund
Some of the many error messages introduced in 458857cc missed 'FROM unpackaged'. Also e016b724 and 45ffeb7e forgot to quote extension version numbers. Backpatch to 9.1, just like 458857cc which introduced the messages. Do so because the error messages thrown when the wrong command is copy & pasted aren't easy to understand.
2014-08-25Don't track DEALLOCATE in pg_stat_statements.Heikki Linnakangas
We also don't track PREPARE, nor do we track planning time in general, so let's ignore DEALLOCATE as well for consistency. Backpatch to 9.4, but not further than that. Although it seems unlikely that anyone is relying on the current behavior, this is a behavioral change. Fabien Coelho
2014-08-23doc: Improve pg_restore help outputPeter Eisentraut
Add a note that some options can be specified multiple times to select multiple objects to restore. This replaces the somewhat confusing use of plurals in the option descriptions themselves.
2014-08-22Fix outdated commentAlvaro Herrera
2014-08-22Fix corner-case behaviors in JSON/JSONB field extraction operators.Tom Lane
Cause the path extraction operators to return their lefthand input, not NULL, if the path array has no elements. This seems more consistent since the case ought to correspond to applying the simple extraction operator (->) zero times. Cause other corner cases in field/element/path extraction to return NULL rather than failing. This behavior is arguably more useful than throwing an error, since it allows an expression index using these operators to be built even when not all values in the column are suitable for the extraction being indexed. Moreover, we already had multiple inconsistencies between the path extraction operators and the simple extraction operators, as well as inconsistencies between the JSON and JSONB code paths. Adopt a uniform rule of returning NULL rather than throwing an error when the JSON input does not have a structure that permits the request to be satisfied. Back-patch to 9.4. Update the release notes to list this as a behavior change since 9.3.
2014-08-22Fix comment in pg_basebackup.Heikki Linnakangas
The option is called --tablespace-mapping, not --tablespace. Amit Kapila
2014-08-22Change the way pg_basebackup's tablespace mapping is implemented.Heikki Linnakangas
Previously, we would first create the symlinks the way they are in the original system, and at the end replace them with the mapped symlinks. That never really made much sense, so now we create the symlink pointing to the correct location to begin with, so that there's no need to fix them at the end. The old coding didn't work correctly on Windows, because Windows junction points look more like directories than files, and ought to be removed with rmdir rather than unlink. Also, it incorrectly used "%d" rather than "%u" to print an Oid, but that's gone now. Report and patch by Amit Kapila, with minor changes by me. Reviewed by MauMau. Backpatch to 9.4, where the --tablespace feature was added.
2014-08-21Rework 'MOVE ALL' to 'ALTER .. ALL IN TABLESPACE'Stephen Frost
As 'ALTER TABLESPACE .. MOVE ALL' really didn't change the tablespace but instead changed objects inside tablespaces, it made sense to rework the syntax and supporting functions to operate under the 'ALTER (TABLE|INDEX|MATERIALIZED VIEW)' syntax and to be in tablecmds.c. Pointed out by Alvaro, who also suggested the new syntax. Back-patch to 9.4.
2014-08-20More regression test cases for json/jsonb extraction operators.Tom Lane
Cover some cases I omitted before, such as null and empty-string elements in the path array. This exposes another inconsistency: json_extract_path complains about empty path elements but jsonb_extract_path does not.
2014-08-20Fix core dump in jsonb #> operator, and add regression test cases.Tom Lane
jsonb's #> operator segfaulted (dereferencing a null pointer) if the RHS was a zero-length array, as reported in bug #11207 from Justin Van Winkle. json's #> operator returns NULL in such cases, so for the moment let's make jsonb act likewise. Also add a bunch of regression test queries memorializing the -> and #> operators' behavior for this and other corner cases. There is a good argument for changing some of these behaviors, as they are not very consistent with each other, and throwing an error isn't necessarily a desirable behavior for operators that are likely to be used in indexes. However, everybody can agree that a core dump is the Wrong Thing, and we need test cases even if we decide to change their expected output later.
2014-08-19Revert "Fix bug in checking of IDENTIFY_SYSTEM result."Fujii Masao
This reverts commit 083d29c65b7897f90c70e6dc0a4240a5fa75c8f2. The commit changed the code so that it causes an errors when IDENTIFY_SYSTEM returns three columns. But which prevents us from using the replication-related utilities against the server with older version. This is not what we want. For that compatibility, we allow the utilities to receive three columns as the result of IDENTIFY_SYSTEM eventhough it actually returns four columns in 9.4 or later. Pointed out by Andres Freund.
2014-08-19Fix bug in checking of IDENTIFY_SYSTEM result.Fujii Masao
5a991ef8692ed0d170b44958a81a6bd70e90585 added new column into the result of IDENTIFY_SYSTEM command. But it was not reflected into several codes checking that result. Specifically though the number of columns in the result was increased to 4, it was still compared with 3 in some replication codes. Back-patch to 9.4 where the number of columns in IDENTIFY_SYSTEM result was increased. Report from Michael Paquier
2014-08-18Install libpq DLL with $(INSTALL_SHLIB).Noah Misch
Programs need execute permission on a DLL file to load it. MSYS "install" ignores the mode argument, and our Cygwin build statically links libpq into programs. That explains the lack of buildfarm trouble. Back-patch to 9.0 (all supported versions).
2014-08-18Make pg_service.conf sample LDIF more portable.Noah Misch
The aboriginal sample placed connection parameters in groupOfUniqueNames/uniqueMember. OpenLDAP, at least as early as version 2.4.23, rejects uniqueMember entries that do not conform to the syntax for a distinguished name. Use device/description, which is free-form. Back-patch to 9.4 for web site visibility.
2014-08-18Document new trigger-related forms of ALTER FOREIGN TABLE.Noah Misch
Oversight in commit 7cbe57c34dec4860243e6d0f81738cfbb6e5d069. Back-patch to 9.4, where that commit first appeared. In passing, release-note the FDW API postcondition change from the same commit.
2014-08-18Adjust Release Notes to reflect holding off wrapped expanded mode until 9.5 ↵Greg Stark
(thanks Michael Paquier)
2014-08-18Revert psql changes to support wrapped expanded mode. That feature isGreg Stark
nice and we'll keep it in 9.5 but it'll take more time to iron out the collateral damage on other queries and also on tools like check_postgres. revert dbe31616c9be7380b8a88cdfbeaa68dbdcdebc36 revert 6513633b94173fc1d9e2b213c43f9422ddbf5faa
2014-08-18Fix obsolete mention of non-int64 support in CREATE SEQUENCE documentation.Tom Lane
The old text explained what happened if we didn't have working int64 arithmetic. Since that case has been explicitly rejected by configure since 8.4.3, documenting it in the 9.x branches can only produce confusion.
2014-08-17Use ISO 8601 format for dates converted to JSON, too.Tom Lane
Commit f30015b6d794c15d52abbb3df3a65081fbefb1ed made this happen for timestamp and timestamptz, but it seems pretty inconsistent to not do it for simple dates as well. (In passing, I re-pgindent'd json.c.)
2014-08-18Add missing index terms for replication commands in the document.Fujii Masao
Previously only CREATE_REPLICATION_SLOT was exposed as an index term. That's odd and there is no reason not to add index terms for other replication commands. Back-patch to 9.4.
2014-08-17Make an editorial pass over the 9.4 release notes.Tom Lane
Update the notes to include commits through today, and do a lot of wordsmithing and markup adjustment. Notably, don't use <link> where <xref> will do; since we got rid of the text-format HISTORY file, there is no longer a reason to avoid <xref>.
2014-08-17Improve DISCARD documentation.Tom Lane
The new DISCARD SEQUENCES option was inadequately described, and hadn't been mentioned at all in the initial Description paragraph. Rather than rectifying the latter the hard way, it seemed better to rewrite the description as a summary, instead of having it basically duplicate statements made under Parameters. Be more consistent about the ordering of the options, too.
2014-08-17doc: Work around stylesheet bug for man buildPeter Eisentraut
The upstream stylesheets for man output insert a *roff comment for an occurrence of an indexterm, for reasons that have apparently been lost in history. This, however, is done incorrectly and causes some formatting problems. This hasn't been an issue until now, but the reorganization of indexterm elements inside variablelists has triggered this issue. The upstream fix (http://sourceforge.net/p/docbook/bugs/1340/) is to drop indexterms altogether in man output, and so we'll do the same here.
2014-08-16Fix bogus return macros in range_overright_internal().Tom Lane
PG_RETURN_BOOL() should only be used in functions following the V1 SQL function API. This coding accidentally fails to fail since letting the compiler coerce the Datum representation of bool back to plain bool does give the right answer; but that doesn't make it a good idea. Back-patch to older branches just to avoid unnecessary code divergence.
2014-08-16Fix bogus commutator/negator links for JSONB containment operators.Tom Lane
<@ and @> are each other's commutators, but they were incorrectly marked as being each other's negators instead. (This was actually questioned in a comment in the original commit, but nobody followed through :-(.) Per bug #11178 from Christian Pronovost. In passing, fix some JSONB operator descriptions that were randomly different from the phrasing of every other similar description. catversion bump for pg_catalog contents change.
2014-08-15Remove remnants of a JENTRY_ISFIRST flag bit.Heikki Linnakangas
I removed the flag earlier, but missed a few references in jsonb.h.
2014-08-15Set shared library path for in-tree TAP testsPeter Eisentraut
When the TAP tests are run in-tree (make check), set the shared library path using the appropriate environment variable, using a logic similar to pg_regress, so that the right libraries are used.
2014-08-14Update SysV parameter configuration documentation for FreeBSD.Tom Lane
FreeBSD hasn't made any use of kern.ipc.semmap since 1.1, and newer releases reject attempts to set it altogether; so stop recommending that it be adjusted. Per bug #11161. Back-patch to all supported branches. Before 9.3, also incorporate commit 7a42dff47, which touches the same text and for some reason was not back-patched at the time.
2014-08-14Fix help message in pg_ctl.Fujii Masao
Previously the help message described that -m is an option for "stop", "restart" and "promote" commands in pg_ctl. But actually that's not an option for "promote". So this commit fixes that incorrect description in the help message. Back-patch to 9.3 where the incorrect description was added.