aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Tag 9.1beta3.REL9_1_BETA3Tom Lane2011-07-07
|
* Update examples for string-related functions.Tom Lane2011-07-07
| | | | | | | | | | | | | In the example for decode(), show the bytea result in hex format, since that's now the default. Use an E'' string in the example for quote_literal(), so that it works regardless of the standard_conforming_strings setting. On the functions-for-binary-strings page, leave the examples as-is for readability, but add a note pointing out that they are shown in escape format. Per comments from Thom Brown. Also, improve the description for encode() and decode() a tad. Backpatch to 9.0, where bytea_output was introduced.
* Update 9.1 release notes to reflect commits through today.Tom Lane2011-07-07
|
* There's a small window wherein a transaction is committed but not yetHeikki Linnakangas2011-07-08
| | | | | | | | on the finished list, and we shouldn't flag it as a potential conflict if so. We can also skip adding a doomed transaction to the list of possible conflicts because we know it won't commit. Dan Ports and Kevin Grittner.
* SSI has a race condition, where the order of commit sequence numbers ofHeikki Linnakangas2011-07-07
| | | | | | | | | | | | | | | transactions might not match the order the work done in those transactions become visible to others. The logic in SSI, however, assumed that it does. Fix that by having two sequence numbers for each serializable transaction, one taken before a transaction becomes visible to others, and one after it. This is easier than trying to make the the transition totally atomic, which would require holding ProcArrayLock and SerializableXactHashLock at the same time. By using prepareSeqNo instead of commitSeqNo in a few places where commit sequence numbers are compared, we can make those comparisons err on the safe side when we don't know for sure which committed first. Per analysis by Kevin Grittner and Dan Ports, but this approach to fix it is different from the original patch.
* Fix use of unportable %m formatPeter Eisentraut2011-07-07
|
* Reclassify replication-related GUC variables as "master" and "standby".Tom Lane2011-07-07
| | | | | | | Per discussion, this structure seems more understandable than what was there before. Make config.sgml and postgresql.conf.sample agree. In passing do a bit of editorial work on the variable descriptions.
* Adjust OLDSERXID_MAX_PAGE based on BLCKSZ.Robert Haas2011-07-07
| | | | | | | | The value when BLCKSZ = 8192 is unchanged, but with larger-than-normal block sizes we might need to crank things back a bit, as we'll have more entries per page than normal in that case. Kevin Grittner
* Finish disabling reduced-lock-levels-for-DDL feature.Tom Lane2011-07-07
| | | | | Previous patch only covered the ALTER TABLE changes, not changes in other commands; and it neglected to revert the documentation changes.
* Fix a bug with SSI and prepared transactions:Heikki Linnakangas2011-07-07
| | | | | | | | | | | | | | | | | If there's a dangerous structure T0 ---> T1 ---> T2, and T2 commits first, we need to abort something. If T2 commits before both conflicts appear, then it should be caught by OnConflict_CheckForSerializationFailure. If both conflicts appear before T2 commits, it should be caught by PreCommit_CheckForSerializationFailure. But that is actually run when T2 *prepares*. Fix that in OnConflict_CheckForSerializationFailure, by treating a prepared T2 as if it committed already. This is mostly a problem for prepared transactions, which are in prepared state for some time, but also for regular transactions because they also go through the prepared state in the SSI code for a short moment when they're committed. Kevin Grittner and Dan Ports
* Remove assumptions that not-equals operators cannot be in any opclass.Tom Lane2011-07-06
| | | | | | | | | | | | | | | get_op_btree_interpretation assumed this in order to save some duplication of code, but it's not true in general anymore because we added <> support to btree_gist. (We still assume it for btree opclasses, though.) Also, essentially the same logic was baked into predtest.c. Get rid of that duplication by generalizing get_op_btree_interpretation so that it can be used by predtest.c. Per bug report from Denis de Bernardy and investigation by Jeff Davis, though I didn't use Jeff's patch exactly as-is. Back-patch to 9.1; we do not support this usage before that.
* Make the file_fdw validator check that a filename option has been provided.Tom Lane2011-07-05
| | | | | | This was already a runtime failure condition, but it's better to check at validation time if possible. Lightly modified version of a patch by Shigeru Hanada.
* Call FDW validator functions even when the options list is empty.Tom Lane2011-07-05
| | | | | | | This is useful since a validator might want to require certain options to be provided. The passed array is an empty text array in this case. Per suggestion by Laurenz Albe, though this is not quite his patch.
* Message style improvements of errmsg_internal() callsPeter Eisentraut2011-07-05
|
* Restructure foreign data wrapper chapter so it has more than one section.Tom Lane2011-07-05
| | | | | | | | As noted by Laurenz Albe, our SGML tools deal rather oddly with chapters having just one <sect1>. Perhaps the tooling could be fixed, but really the design of this chapter's introduction is pretty bogus anyhow. Split it into a true introduction and a <sect1> about the FDW functions, so that it reads better and dodges the lack-of-a-chapter-TOC problem.
* Postgres -> PostgreSQL in error messagePeter Eisentraut2011-07-05
|
* Improve documentation about foreign data wrapper validator functions.Tom Lane2011-07-05
| | | | Modified version of a patch by Shigeru Hanada.
* Fix psql's counting of script file line numbers during COPY.Tom Lane2011-07-05
| | | | | | | | handleCopyIn incremented pset.lineno for each line of COPY data read from a file. This is correct when reading from the current script file (i.e., we are doing COPY FROM STDIN followed by in-line data), but it's wrong if the data is coming from some other file. Per bug #6083 from Steve Haslam. Back-patch to all supported versions.
* Fix typo in sslmode documentationMagnus Hagander2011-07-05
| | | | Per bug #6089, noted by Sidney Cadot
* Message style tweaksPeter Eisentraut2011-07-05
|
* Small documentation tweaksPeter Eisentraut2011-07-05
|
* Clarify that you need ActiveState perl 5.8 *or later* to build on Windows.Heikki Linnakangas2011-07-04
|
* Back-patch Fix bat file quoting of %ENV from commit 19b7fac8.Andrew Dunstan2011-07-04
|
* Alter test results to comply with new ALTER TABLE behaviour.Simon Riggs2011-07-04
|
* Reset ALTER TABLE lock levels to AccessExclusiveLock in all cases.Simon Riggs2011-07-04
| | | | | Locks on inheritance parent remain at lower level, as they were before. Remove entry from 9.1 release notes.
* Fix omissions in documentation of the pg_roles view.Tom Lane2011-07-03
| | | | | | | Somehow, column rolconfig got removed from the documentation of the pg_roles view in the 9.0 cycle, although the column is actually still there. In 9.1, we'd also forgotten to document the rolreplication column. Spotted by Sakamoto Masahiko.
* Put comments on the installable procedural languages.Tom Lane2011-07-03
| | | | Per suggestion from Josh Kupershmidt.
* Fix bugs in relpersistence handling during table creation.Robert Haas2011-07-03
| | | | | | | | | | | | | | | | | Unlike the relistemp field which it replaced, relpersistence must be set correctly quite early during the table creation process, as we rely on it quite early on for a number of purposes, including security checks. Normally, this is set based on whether the user enters CREATE TABLE, CREATE UNLOGGED TABLE, or CREATE TEMPORARY TABLE, but a relation may also be made implicitly temporary by creating it in pg_temp. This patch fixes the handling of that case, and also disables creation of unlogged tables in temporary tablespace (such table indeed skip WAL-logging, but we reject an explicit specification) and creation of relations in the temporary schemas of other sessions (which is not very sensible, and didn't work right anyway). Report by Amit Khandekar.
* Make distprep and *clean build targets recurse into all subdirectories.Tom Lane2011-07-03
| | | | | | | | | | | | | | | | | | | Certain subdirectories do not get built if corresponding options are not selected at configure time. However, "make distprep" should visit such directories anyway, so that constructing derived files to be included in the tarball happens without requiring all configure options to be given in the tarball build script. Likewise, it's better if cleanup actions unconditionally visit all directories (for example, this ensures proper cleanup if someone has done a manual make in such a subdirectory). To handle this, set up a convention that subdirectories that are conditionally included in SUBDIRS should be added to ALWAYS_SUBDIRS instead when they are excluded. Back-patch to 9.1, so that plpython's spiexceptions.h will get provided in 9.1 tarballs. There don't appear to be any instances where distprep actions got missed in previous releases, and anyway this fix requires gmake 3.80 so we don't want to apply it before 9.1.
* Unify spelling of "canceled", "canceling", "cancellation"Peter Eisentraut2011-07-02
| | | | | We had previously (af26857a2775e7ceb0916155e931008c2116632f) established the U.S. spellings as standard.
* Add some strings that were not marked for translationPeter Eisentraut2011-07-02
|
* In pg_upgrade 9.0 and 9.1, document suggestion of using a non-defaultBruce Momjian2011-07-01
| | | | port number to avoid unintended client connections.
* Restore correct btree preprocessing of "indexedcol IS NULL" conditions.Tom Lane2011-06-29
| | | | | | | | | | | | Such a condition is unsatisfiable in combination with any other type of btree-indexable condition (since we assume btree operators are always strict). 8.3 and 8.4 had an explicit test for this, which I removed in commit 29c4ad98293e3c5cb3fcdd413a3f4904efff8762, mistakenly thinking that the case would be subsumed by the more general handling of IS (NOT) NULL added in that patch. Put it back, and improve the comments about it, and add a regression test case. Per bug #6079 from Renat Nasyrov, and analysis by Dean Rasheed.
* Move the PredicateLockRelation() call from nodeSeqscan.c to heapam.c. It'sHeikki Linnakangas2011-06-29
| | | | | | | | | | | | | | | | | | | | more consistent that way, since all the other PredicateLock* calls are made in various heapam.c and index AM functions. The call in nodeSeqscan.c was unnecessarily aggressive anyway, there's no need to try to lock the relation every time a tuple is fetched, it's enough to do it once. This has the user-visible effect that if a seq scan is initialized in the executor, but never executed, we now acquire the predicate lock on the heap relation anyway. We could avoid that by taking the lock on the first heap_getnext() call instead, but it doesn't seem worth the trouble given that it feels more natural to do it in heap_beginscan(). Also, remove the retail PredicateLockTuple() calls from heap_getnext(). In a seqscan, started with heap_begin(), we're holding a whole-relation predicate lock on the heap so there's no need to lock the tuples individually. Kevin Grittner and me
* Grab predicate locks on matching tuples in a lossy bitmap heap scan.Heikki Linnakangas2011-06-29
| | | | | | Non-lossy case was already handled correctly. Kevin Grittner
* Protect pg_stat_reset_shared() against NULL inputMagnus Hagander2011-06-29
| | | | Per bug #6082, reported by Steve Haslam
* Reduce impact of btree page reuse on Hot Standby by fixing off-by-1 error.Simon Riggs2011-06-27
| | | | | | | | | WAL records of type XLOG_BTREE_REUSE_PAGE were generated using a latestRemovedXid one higher than actually needed because xid used was page opaque->btpo.xact rather than an actually removed xid. Noticed on an otherwise quiet system by Noah Misch. Noah Misch and Simon Riggs
* Mention that SSPI authentication can use GSSAPI on non-Windows systems.Robert Haas2011-06-27
| | | | As noted by Christian Ullrich.
* Async dblink functions require a named connection, and therefore shouldJoe Conway2011-06-25
| | | | | use DBLINK_GET_NAMED_CONN rather than DBLINK_GET_CONN. Problem found by Peter Eisentraut and patch by Fujii Masao.
* Documentation improvements for pg_locks with respect to SSI.Robert Haas2011-06-24
| | | | | | | Explain that querying pg_locks does not simultaneously lock both the normal lock manager and the predicate lock manager. Per discussion with Kevin Grittner.
* In pg_upgrade docs, clarify that link mode uses "hard" links.Bruce Momjian2011-06-23
| | | | Backpatch to 9.1 and 9.0.
* Undo overly enthusiastic de-const-ification.Tom Lane2011-06-22
| | | | | | | s/const//g wasn't exactly what I was suggesting here ... parameter declarations of the form "const structtype *param" are good and useful, so put those occurrences back. Likewise, avoid casting away the const in a "const void *" parameter.
* In pg_upgrade, check that the binary and data directories are the sameBruce Momjian2011-06-22
| | | | | | | | major version. Backpatch to 9.1. Dan McGee
* Adjust pg_upgrade check for pg_upgrade_support to happen after theBruce Momjian2011-06-22
| | | | | | | | binary directory has been validated. Backpatch to 9.1. Dan McGee
* Fix pg_upgrade status message capitalization mistake.Bruce Momjian2011-06-22
| | | | | | Backpatch to 9.1 and 9.0. Dan McGee
* Add missing -I switch for VPATH builds.Tom Lane2011-06-22
| | | | Per bug #6073 from Hartmut Raschick.
* Fix symlink for errcodes.h so it works in VPATH builds from tarballs.Tom Lane2011-06-22
| | | | | | | backend/Makefile was treating errcodes.h as a header always generated during build, but actually it's a header provided in tarballs. Hence, must use the absolute-symlink recipe, not the relative-symlink one. Per bug #6072 from Hartmut Raschick.
* Remove pointless const qualifiers from function arguments in the SSI code.Heikki Linnakangas2011-06-22
| | | | | | | As Tom Lane pointed out, "const Relation foo" doesn't guarantee that you can't modify the data the "foo" pointer points to. It just means that you can't change the pointer to point to something else within the function, which is not very useful.
* Performance tuning advice for SSI.Robert Haas2011-06-21
| | | | Kevin Grittner, with additional wordsmithing by me.
* Minor editing for README-SSI.Tom Lane2011-06-21
| | | | | Fix some grammatical issues, try to clarify a couple of proofs, make the terminology more consistent.