aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Truncate subtrans after each restartpoint.Simon Riggs2010-08-30
| | | | Issue reported by Harald Kolb, patch by Fujii Masao, review by me.
* Teach GetOldestXmin() about KnownAssignedXids during recovery.Simon Riggs2010-08-30
| | | | | Very minor issue, though this is required for a later patch. Reported by Heikki Linnakangas.
* Fix typo in comment.Heikki Linnakangas2010-08-30
|
* Reduce PANIC to ERROR in some occasionally-reported btree failure cases.Tom Lane2010-08-29
| | | | | | | | | | | | | | | | | | | | | | | | This patch changes _bt_split() and _bt_pagedel() to throw a plain ERROR, rather than PANIC, for several cases that are reported from the field from time to time: * right sibling's left-link doesn't match; * PageAddItem failure during _bt_split(); * parent page's next child isn't right sibling during _bt_pagedel(). In addition the error messages for these cases have been made a bit more verbose, with additional values included. The original motivation for PANIC here was to capture core dumps for subsequent analysis. But with so many users whose platforms don't capture core dumps by default, or who are unprepared to analyze them anyway, it's hard to justify a forced database restart when we can fairly easily detect the problems before we've reached the critical sections where PANIC would be necessary. It is not currently known whether the reports of these messages indicate well-hidden bugs in Postgres, or are a result of storage-level malfeasance; the latter possibility suggests that we ought to try to be more robust even if there is a bug here that's ultimately found. Backpatch to 8.2. The code before that is sufficiently different that it doesn't seem worth the trouble to back-port further.
* Remove obsolete remark that PQprepare() is more flexible than PREPARE.Tom Lane2010-08-29
| | | | | Spotted by Dmitriy Igrishin. Back-patch to 8.2, which is when the PREPARE statement was improved to allow parameter types to be omitted.
* Insert additional compiler placation into objectaddress.c.Robert Haas2010-08-27
| | | | | | | Peter Eisentraut reports that some bits of the "address" variable in get_object_address() give "may be used uninitialized" warnings; this likes the only excuse his compiler could have for thinking that's possible.
* Small refactoring of makeVar() from a TargetEntryPeter Eisentraut2010-08-27
|
* Rewrite comment code for better modularity, and add necessary locking.Robert Haas2010-08-27
| | | | Review by Alvaro Herrera, KaiGai Kohei, and Tom Lane.
* Document the existence of the socket lock file under unix_socket_directory,Tom Lane2010-08-26
| | | | | | which is perhaps not a terribly good spot for it but there doesn't seem to be a better place. Also add a source-code comment pointing out a couple reasons for having a separate lock file. Per suggestion from Greg Smith.
* Explain automatic creation (or lack of it) of indexes for the various typesTom Lane2010-08-26
| | | | | | of constraints. Kevin Grittner
* Update time zone data files to tzdata release 2010l: DST law changes inTom Lane2010-08-26
| | | | | | | Egypt and Palestine. Added new names for two Micronesian timezones: Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over Pacific/Ponape. Historical corrections for Finland.
* Improve wording for privilege description on certain failure messages; theAlvaro Herrera2010-08-26
| | | | | original misleadingly suggests that only access is meant, causing confusion. Per recent trouble report by Robert McGehee on pgsql-admin.
* Remove duplicate translatable phraseAlvaro Herrera2010-08-26
|
* Fix ExecMakeTableFunctionResult to verify that all rows returned by a SRFTom Lane2010-08-26
| | | | | | | | | | | returning "record" actually do have the same rowtype. This is needed because the parser can't realistically enforce that they will all have the same typmod, as seen in a recent example from David Wheeler. Back-patch to 8.0, which is as far back as we have the notion of RECORD subtypes being distinguished by typmod. Wheeler's example depends on 8.4-and-up features, but I suspect there may be ways to provoke similar failures before 8.4.
* Don't auto-create the subdirectories holding built documentation in a VPATHTom Lane2010-08-26
| | | | | | | | build tree. If we actually build the docs in the VPATH tree, those dirs will get created then; but if they're present and empty, they capture the vpathsearch searches in "make install", preventing installation of prebuilt docs that might exist in the source tree. Per bug #5595 from Dmtiriy Igrishin. Fix based on idea from Peter Eisentraut.
* Remove docs for "Incrementally Updated Backups" because it was ofBruce Momjian2010-08-25
| | | | | | | | questionable reliability; information moved to a wiki: http://wiki.postgresql.org/wiki/Incrementally_Updated_Backups Backpatch to 9.0.
* Document filtering dictionaries in textsearch.sgml.Tom Lane2010-08-25
| | | | | | While at it, copy-edit the description of prefix-match marker support in synonym dictionaries, and clarify the description of the default unaccent dictionary a bit more.
* Improve hint message for ENOMEM failure from shmget().Tom Lane2010-08-25
| | | | | | | | | | | | It turns out that some platforms return ENOMEM for a request that violates SHMALL, whereas we were assuming that ENOSPC would always be used for that. Apparently the latter is a Linuxism while ENOMEM is the BSD tradition. Extend the ENOMEM hint to suggest that raising SHMALL might be needed. Per gripe from A.M. Backpatch to 9.0, but not further, because this doesn't seem important enough to warrant creating extra translation work in the stable branches. (If it were, we'd have figured this out years ago.)
* Update release notes, per comments from Simon Riggs.Bruce Momjian2010-08-25
|
* Catch null pointer returns from PyCObject_AsVoidPtr and PyCObject_FromVoidPtrPeter Eisentraut2010-08-25
| | | | | | | | This is reproducibly possible in Python 2.7 if the user turned PendingDeprecationWarning into an error, but it's theoretically also possible in earlier versions in case of exceptional conditions. backpatched to 8.0
* Add missing description of reloftype fieldPeter Eisentraut2010-08-25
|
* Docs review for unaccent: fix grammar, markup, etc.Tom Lane2010-08-25
|
* Avoid passing signed chars to <ctype.h> functions ... same oldTom Lane2010-08-25
| | | | portability mistake as always. Per buildfarm member pika.
* Update 9.0 release notes for changes since beta4.Tom Lane2010-08-25
| | | | | Note: as usual, bug fixes that were also applied in back branches are not considered material to include in a new major release's notes.
* Further editing of release notes.Tom Lane2010-08-24
|
* Make EXPLAIN show the function call expression of a FunctionScan plan node,Tom Lane2010-08-24
| | | | but only in VERBOSE mode. Per discussion.
* When in automatic dependency mode, never delete any intermediatePeter Eisentraut2010-08-24
| | | | | | | | | | | files automatically. Otherwise, the following could happen: When starting from a clean source tree, the first build would delete the intermediate file, but also create the dependency file, which mentions the intermediate file, thus making it non-intermediate. The second build will then need to rebuild the now non-intermediate missing file. So the second build will do work even though nothing had changed. One place where this happens is the .c -> .o -> .so chain for some contrib modules.
* Fix awkward wording in Incrementally Updated Backups docs.Bruce Momjian2010-08-24
| | | | Backpatch to 9.0.X.
* Clarifications for 9.0 release notesBruce Momjian2010-08-24
| | | | Josh Berkus
* Update autovacuum_freeze_max_age documentation to mention that theBruce Momjian2010-08-24
| | | | | | default is low because of pg_clog file removal. Backpatch to 9.0.X.
* Add string functions: concat(), concat_ws(), left(), right(), and reverse().Itagaki Takahiro2010-08-24
| | | | Pavel Stehule, reviewed by me.
* Marginal code cleanup for streaming replication.Tom Lane2010-08-23
| | | | | | There is no reason that proc.c should have to get involved in this dirty hack for letting the postmaster know which children are walsenders. Revert that file to the way it was, and confine the kluge to pmsignal.c and postmaster.c.
* Make pg_archivecleanup log messages more consistent.Tom Lane2010-08-23
| | | | Erik Rijkers
* Make an editorial pass over the 9.0 release notes.Tom Lane2010-08-23
| | | | | This is mostly about grammar, style, and presentation, though I did find a few small factual errors.
* Document that autovacuum_freeze_max_age is used for pg_clog recycling.Bruce Momjian2010-08-22
| | | | We already mentioned xid wraparound.
* Use a non-locale-dependent definition of isspace() in array_in/array_out.Tom Lane2010-08-21
| | | | | | | | | | | | | | | | | | | array_in discards unquoted leading and trailing whitespace in array values, while array_out is careful to quote array elements that contain whitespace. This is problematic when the definition of "whitespace" varies between locales: array_in could drop characters that were meant to be part of the value. To avoid that, lock down "whitespace" to mean only the traditional six ASCII space characters. This change also works around a bug in OS X and some older BSD systems, in which isspace() could return true for character fragments in UTF8 locales. (There may be other places in PG where that bug could cause problems, but this is the only one complained of so far; see recent report from Steven Schlansker.) Back-patch to 9.0, but not further. Given the lack of previous reports of trouble, changing this behavior in stable branches seems to offer more risk of breaking applications than reward of avoiding problems.
* Improve parallel restore's ability to cope with selective restore (-L option).Tom Lane2010-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original coding tended to break down in the face of modified restore orders, as shown in bug #5626 from Albert Ullrich, because it would flip over into parallel-restore operation too soon. That causes problems because we don't have sufficient dependency information in dump archives to allow safe parallel processing of SECTION_PRE_DATA items. Even if we did, it's probably undesirable to allow that to override the commanded restore order. To fix the problem of omitted items causing unexpected changes in restore order, tweak SortTocFromFile so that omitted items end up at the head of the list not the tail. This ensures that they'll be examined and their dependencies will be marked satisfied before we get to any interesting items. In HEAD and 9.0, we can easily change restore_toc_entries_parallel so that all SECTION_PRE_DATA items are guaranteed to be processed in the initial serial-restore loop, and hence in commanded order. Only DATA and POST_DATA items are candidates for parallel processing. For them there might be variations from the commanded order because of parallelism, but we should do it in a safe order thanks to dependencies. In 8.4 it's much harder to make such a guarantee. I settled for not letting the initial loop break out into parallel processing mode if it sees a DATA/POST_DATA item that's not to be restored; this at least prevents a non-restorable item from causing premature exit from the loop. This means that 8.4 will be more likely to fail given a badly-ordered -L list than 9.x, but we don't really promise any such thing will work anyway.
* Adjust regression tests for previous commit, that I forgotMagnus Hagander2010-08-21
| | | | to include...
* Add vacuum and analyze counters to pg_stat_*_tables views.Magnus Hagander2010-08-21
|
* Add missing processing of OptTemp in CREATE IF NOT EXISTS variantTom Lane2010-08-20
| | | | for typed tables. Noted by Robert Haas.
* Avoid saying "random" when randomness is not actually meant.Tom Lane2010-08-20
| | | | Per Thom Brown.
* Remove the isLocalBuf argument from ReadBuffer_common.Robert Haas2010-08-20
| | | | | | Since an SMgrRelation now knows whether or not the underlying relation is temporary, there's no point in also passing that information via an additional argument.
* Bring some sanity to the trace_recovery_messages code and docs.Tom Lane2010-08-19
| | | | | | | | | | Per gripe from Fujii Masao, though this is not exactly his proposed patch. Categorize as DEVELOPER_OPTIONS and set context PGC_SIGHUP, as per Fujii, but set the default to LOG because higher values aren't really sensible (see the code for trace_recovery()). Fix the documentation to agree with the code and to try to explain what the variable actually does. Get rid of no-op calls trace_recovery(LOG), which accomplish nothing except to demonstrate that this option confuses even its author.
* Allow USING and INTO clauses of plpgsql's EXECUTE to appear in either order.Tom Lane2010-08-19
| | | | | | | | | | | | Aside from being more forgiving, this prevents a rather surprising misbehavior when the "wrong" order was used: the old code didn't throw a syntax error, but absorbed the INTO clause into the last USING expression, which then did strange things downstream. Intentionally not changing the documentation; we'll continue to advertise only the "standard" clause order. Backpatch to 8.4, where the USING clause was added to EXECUTE.
* Keep exec_simple_check_plan() from thinking "SELECT foo INTO bar" is simple.Tom Lane2010-08-19
| | | | | | | | | | | | It's not clear if this situation can occur in plpgsql other than via the EXECUTE USING case Heikki illustrated, which I will shortly close off. However, ignoring the intoClause if it's there is surely wrong, so let's patch it for safety. Backpatch to 8.3, which is as far back as this code has a PlannedStmt to deal with. There might be another way to make an equivalent test before that, but since this is just preventing hypothetical bugs, I'm not going to obsess about it.
* Be a bit less cavalier with both the code and the comment for UNKNOWN fix.Tom Lane2010-08-19
|
* Revert patch to coerce 'unknown' type parameters in the backend. As TomHeikki Linnakangas2010-08-19
| | | | | | | | | | | | | | | | pointed out, it would need a 2nd pass after the whole query is processed to correctly check that an unknown Param is coerced to the same target type everywhere. Adding the 2nd pass would add a lot more code, which doesn't seem worth the risk given that there isn't much of a use case for passing unknown Params in the first place. The code would work without that check, but it might be confusing and the behavior would be different from the varparams case. Instead, just coerce all unknown params in a PL/pgSQL USING clause to text. That's simple, and is usually what users expect. Revert the patch in CVS HEAD and master, and backpatch the new solution to 8.4. Unlike the previous solution, this applies easily to 8.4 too.
* Allocate local buffers in a context of their own, rather than dumping themTom Lane2010-08-19
| | | | | | into TopMemoryContext. This makes no functional difference, but makes it easier to see what the space is being used for in MemoryContextStats dumps. Per a recent example in which I was surprised by the size of TopMemoryContext.
* Fix possible corruption of AfterTriggerEventLists in subtransaction rollback.Tom Lane2010-08-19
| | | | | | | | | | | | | afterTriggerInvokeEvents failed to adjust events->tailfree when truncating the last chunk of an event list. This could result in the data being "de-truncated" by afterTriggerRestoreEventList during a subsequent subtransaction abort. Even that wouldn't kill us, because the re-added data would just be events marked DONE --- unless the data had been partially overwritten by new events. Then we might crash, or in any case misbehave (perhaps fire triggers twice, or fire triggers with the wrong event data). Per bug #5622 from Thue Janus Kristensen. Back-patch to 8.4 where the current trigger list representation was introduced.
* Remove extra newlines at end and beginning of files, add missing newlinesPeter Eisentraut2010-08-19
| | | | at end of files.