aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* psql: Make temporary editor files have .sql extensionPeter Eisentraut2011-12-02
| | | | | This gives editors a better chance to treat these files as the SQL files that they are.
* Add some weasel wording about threaded usage of PGresults.Tom Lane2011-12-02
| | | | | | PGresults used to be read-only from the application's viewpoint, but now that we've exposed various functions that allow modification of a PGresult, that sweeping statement is no longer accurate. Noted by Dmitriy Igrishin.
* During recovery, if we reach consistent state and still have entries in theHeikki Linnakangas2011-12-02
| | | | | | | | | | | | | | | invalid-page hash table, PANIC immediately. Immediate PANIC is much better than waiting for end-of-recovery, which is what we did before, because the end-of-recovery might not come until months later if this is a standby server. Also refrain from creating a restartpoint if there are invalid-page entries in the hash table. Restarting recovery from such a restartpoint would not see the invalid references, and wouldn't be able to cross-check them when consistency is reached. That wouldn't matter when things are going smoothly, but the more sanity checks you have the better. Fujii Masao
* Clarify documentation about SQL:2008 variant of LIMIT/OFFSET syntax.Tom Lane2011-12-01
| | | | | The point that you need parentheses for non-constant expressions apparently needs to be brought out a bit more clearly, per bug #6315.
* Make pgcompinclude/pgrminclude less tied to Bruce's personal machine.Robert Haas2011-12-01
| | | | | Not everyone has /pg linked to the src subdirectory of their PostgreSQL tree. Also, cc isn't the way to invoke the compiler everywhere.
* Fix getTypeIOParam to support type record[].Tom Lane2011-12-01
| | | | | | | | | | | | | Since record[] uses array_in, it needs to have its element type passed as typioparam. In HEAD and 9.1, this fix essentially reverts commit 9bc933b2125a5358722490acbc50889887bf7680, which was a hack that is no longer needed since domains don't set their typelem anymore. Before that, adjust the logic so that only domains are excluded from being treated like arrays, rather than assuming that only base types should be included. Add a regression test to demonstrate the need for this. Per report from Maxim Boguk. Back-patch to 8.4, where type record[] was added.
* Add file-fdw documentation example.Bruce Momjian2011-12-01
| | | | Josh Berkus
* Add documentation mention that 7 != NULL also returns NULL.Bruce Momjian2011-12-01
|
* Update information about configuring SysV IPC parameters on NetBSD.Tom Lane2011-11-30
| | | | Per Emmanuel Kasper, sysctl works fine as of NetBSD 5.0.
* Draft release notes for 9.1.2, 9.0.6, 8.4.10, 8.3.17, 8.2.23.Tom Lane2011-11-30
|
* Update time zone data files to tzdata release 2011n.Tom Lane2011-11-30
| | | | | DST law changes in Brazil, Cuba, Fiji, Palestine, Russia, Samoa. Historical corrections for Alaska and British East Africa.
* Improve table locking behavior in the face of current DDL.Robert Haas2011-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the previous coding, callers were faced with an awkward choice: look up the name, do permissions checks, and then lock the table; or look up the name, lock the table, and then do permissions checks. The first choice was wrong because the results of the name lookup and permissions checks might be out-of-date by the time the table lock was acquired, while the second allowed a user with no privileges to interfere with access to a table by users who do have privileges (e.g. if a malicious backend queues up for an AccessExclusiveLock on a table on which AccessShareLock is already held, further attempts to access the table will be blocked until the AccessExclusiveLock is obtained and the malicious backend's transaction rolls back). To fix, allow callers of RangeVarGetRelid() to pass a callback which gets executed after performing the name lookup but before acquiring the relation lock. If the name lookup is retried (because invalidation messages are received), the callback will be re-executed as well, so we get the best of both worlds. RangeVarGetRelid() is renamed to RangeVarGetRelidExtended(); callers not wishing to supply a callback can continue to invoke it as RangeVarGetRelid(), which is now a macro. Since the only one caller that uses nowait = true now passes a callback anyway, the RangeVarGetRelid() macro defaults nowait as well. The callback can also be used for supplemental locking - for example, REINDEX INDEX needs to acquire the table lock before the index lock to reduce deadlock possibilities. There's a lot more work to be done here to fix all the cases where this can be a problem, but this commit provides the general infrastructure and fixes the following specific cases: REINDEX INDEX, REINDEX TABLE, LOCK TABLE, and and DROP TABLE/INDEX/SEQUENCE/VIEW/FOREIGN TABLE. Per discussion with Noah Misch and Alvaro Herrera.
* Tweak previous patch to ensure edata->filename always gets initialized.Tom Lane2011-11-30
| | | | | | On a platform that isn't supplying __FILE__, previous coding would either crash or give a stale result for the filename string. Not sure how likely that is, but the original code catered for it, so let's keep doing so.
* Strip file names reported in error messages in vpath buildsPeter Eisentraut2011-11-30
| | | | | | | In vpath builds, the __FILE__ macro that is used in verbose error reports contains the full absolute file name, which makes the error messages excessively verbose. So keep only the base name, thus matching the behavior of non-vpath builds.
* Remove duplicate definition of 'progname'.Tom Lane2011-11-29
| | | | Per buildfarm.
* Move EXTRA_CLEAN to where it actually works.Tom Lane2011-11-29
|
* Prevent autovacuum transactions from running in serializable mode.Tom Lane2011-11-29
| | | | | | | | | | | | | Force the transaction isolation level to READ COMMITTED in autovacuum worker and launcher processes. There is no benefit to using a higher isolation level, and doing so could result in delaying foreground transactions (or maybe even causing unnecessary serialization failures?). Noted by Dan Ports. Also, make sure we disable zero_damaged_pages and statement_timeout in the autovac launcher, not only workers. Now that the launcher can run transactions, these settings could affect its behavior, and it seems like the same arguments apply to the launcher as the workers.
* Change installation docs to mention general debugging options.Bruce Momjian2011-11-29
|
* Clean up after recent pg_dump patches.Tom Lane2011-11-29
| | | | | | Fix entirely broken handling of va_list printing routines, update some out-of-date comments, fix some bogus inclusion orders, fix NLS declarations, fix missed realloc calls.
* In docs, suggest "-O0 -g" only if using a debugger.Bruce Momjian2011-11-29
|
* When a row fails a not-null constraint, show row's contents in errdetail.Tom Lane2011-11-29
| | | | Simple extension of previous patch for CHECK constraints.
* Simplify the pg_dump/pg_restore error reporting macros, and allowBruce Momjian2011-11-29
| | | | pg_dumpall to use the same memory allocation functions as the others.
* Suggest configure options for server developers.Bruce Momjian2011-11-29
| | | | Greg Smith
* When a row fails a CHECK constraint, show row's contents in errdetail.Tom Lane2011-11-29
| | | | | | | | | | | | This should make it easier to identify which row is problematic when an insert or update is processing many rows. The formatting is similar to that for unique-index violation messages, except that we limit field widths to 64 bytes since otherwise the message could get unreasonably long. (In particular, there's currently no attempt to quote or escape field values that contain commas etc.) Jan Kundrát, reviewed by Royce Ausburn, somewhat rewritten by me.
* pg_dump: Add gettext plural support to error messagePeter Eisentraut2011-11-29
|
* pg_upgrade: Disable installcheckPeter Eisentraut2011-11-29
| | | | | Disabled for now because some build farm members with low resources are not prepared to handle it.
* python.m4: Remove useless "import string" callsPeter Eisentraut2011-11-29
| | | | | They have been unneeded since the use of the string module has been removed in a65ed83f8a6fbf35c1e563533ab8293a788b1fce.
* plpython: Fix sed expression in python3 buildPeter Eisentraut2011-11-29
| | | | | | | The old expression sed 's,$(srcdir),python3,' would normally resolve as sed 's,.,python3,', which is not really what we wanted. While it doesn't actually break anything right now, it's still wrong, so put in a bit more work to make it more robust.
* pg_dump: Fix clean rule after file renaming shufflePeter Eisentraut2011-11-29
|
* Document that perl needs to be indented during the pgindent run.Bruce Momjian2011-11-28
|
* Make some minor formatting improvements to what pgindent did.Tom Lane2011-11-28
| | | | | | Moving the code two full tab stops to the right requires rethinking of cosmetic code layout choices, which pgindent isn't really able to do for us. Whitespace and comment adjustments only, no code changes.
* Disallow deletion of CurrentExtensionObject while running extension script.Tom Lane2011-11-28
| | | | | | | | | | While the deletion in itself wouldn't break things, any further creation of objects in the script would result in dangling pg_depend entries being added by recordDependencyOnCurrentExtension(). An example from Phil Sorber convinced me that this is just barely likely enough to be worth expending a couple lines of code to defend against. The resulting error message might be confusing, but it's better than leaving corrupted catalog contents for the user to deal with.
* Pgindent clauses.c, per request from Tom.Bruce Momjian2011-11-28
|
* Convert eval_const_expressions's long series of IsA tests into a switch.Tom Lane2011-11-28
| | | | | | | | | This function has now grown enough cases that a switch seems appropriate. This results in a measurable speed improvement on some platforms, and should certainly not hurt. The code's in need of a pgindent run now, though. Andres Freund
* Remove erroneous claim about use of pg_locks.objid for advisory locks.Tom Lane2011-11-28
| | | | | | | | | The correct information appears in the text, so just remove the statement in the table, where it did not fit nicely anyway. (Curiously, the correct info has been there much longer than the erroneous table entry.) Resolves problem noted by Daniele Varrazzo. In HEAD and 9.1, also do a bit of wordsmithing on other text on the page.
* Fix some bogosities in pg_dump's foreign-table support.Tom Lane2011-11-28
| | | | | | | | The server name for a foreign table was not quoted at need, as per report from Ronan Dunklau. Also, queries related to FDW options were inadequately schema-qualified in places where the search path isn't just pg_catalog, and were inconsistently formatted everywhere, and we didn't always check that we got the expected number of rows from them.
* Add libpq connection option to disable SSL compressionMagnus Hagander2011-11-28
| | | | | | | This can be used to remove the overhead of SSL compression on fast networks. Laurenz Albe
* Ensure that whole-row junk Vars are always of composite type.Tom Lane2011-11-27
| | | | | | | | | | | | | | | | | | | | | | | The EvalPlanQual machinery assumes that whole-row Vars generated for the outputs of non-table RTEs will be of composite types. However, for the case where the RTE is a function call returning a scalar type, we were doing the wrong thing, as a result of sharing code with a parser case where the function's scalar output is wanted. (Or at least, that's what that case has done historically; it does seem a bit inconsistent.) To fix, extend makeWholeRowVar's API so that it can support both use-cases. This fixes Belinda Cussen's report of crashes during concurrent execution of UPDATEs involving joins to the result of UNNEST() --- in READ COMMITTED mode, we'd run the EvalPlanQual machinery after a conflicting row update commits, and it was expecting to get a HeapTuple not a scalar datum from the "wholerowN" variable referencing the function RTE. Back-patch to 9.0 where the current EvalPlanQual implementation appeared. In 9.1 and up, this patch also fixes failure to attach the correct collation to the Var generated for a scalar-result case. An example: regression=# select upper(x.*) from textcat('ab', 'cd') x; ERROR: could not determine which collation to use for upper() function
* Make pg_dumpall build with the right object files under MSVC.Andrew Dunstan2011-11-27
| | | | | | | | This fixes a longstanding but up to now benign bug in the way pg_dumpall was built. The bug was exposed by recent code adjustments. The Makefile does not use $(OBJS) to build pg_dumpall, so this fix removes their source files from the pg_dumpall object and adds in the one source file it consequently needs.
* Use IEEE infinity, not 1e10, for null-and-not-null case in gistpenalty().Tom Lane2011-11-27
| | | | | | | Use of a randomly chosen large value was never exactly graceful, and now that there are penalty functions that are intentionally using infinity, it doesn't seem like a good idea for null-vs-not-null to be using something less.
* Improve GiST range-contained-by searches by adding a flag for empty ranges.Tom Lane2011-11-27
| | | | | | | | | | | | | | | | | | | | | | | In the original implementation, a range-contained-by search had to scan the entire index because an empty range could be lurking anywhere. Improve that by adding a flag to upper GiST entries that says whether the represented subtree contains any empty ranges. Also, make a simple mod to the penalty function to discourage empty ranges from getting pushed into subtrees without any. This needs more work, and the picksplit function should be taught about it too, but that code can be improved without causing an on-disk compatibility break; so we'll leave it for another day. Since we're breaking on-disk compatibility of range values anyway, I took the opportunity to reorganize the range flags bits; the unused RANGE_xB_NULL bits are now adjacent, which might open the door for using them in some other way later. In passing, remove the GiST range opclass entry for <>, which doesn't seem like it can really be indexed usefully. Alexander Korotkov, with some editorializing by Tom
* Add pg_upgrade test suitePeter Eisentraut2011-11-27
| | | | | | | | It runs the regression tests, runs pg_upgrade on the populated database, and compares the before and after dumps. While not actually a cross-version upgrade, this does detect omissions and bugs in the involved tools from time to time. It's also possible to do a cross-version upgrade by manually supplying parameters.
* Use the proper macro to convert a bool to a Datum.Tom Lane2011-11-27
| | | | | | | | | | | | | The original coding was var->value = (Datum) state; which is bogus, and then in commit 2f0f7b4bce13e68394543728801ef011fd82fac6 it was "corrected" to var->value = PointerGetDatum(state); which is a faithful translation but still wrong. This seems purely cosmetic, though, so no need for a back-patch. Pavel Stehule
* Fix MSVC builds broken by xsubpp changeAndrew Dunstan2011-11-27
|
* Move pg_dump memory routines into pg_dumpmem.c/h and restore common.cBruce Momjian2011-11-26
| | | | | with its original functions. The previous function migration would cause too many difficulties in back-patching.
* Use the right interpreter for encoding test.Andrew Dunstan2011-11-26
|
* Use the preferred version of xsubpp, not necessarily the one that came with theAndrew Dunstan2011-11-26
| | | | | | | | | distro version of perl. David Wheeler and Alex Hunsaker. Backpatch to 9.1 where it applies cleanly. A simple workaround is available for earlier branches, and further effort doesn't seem warranted.
* Make GiST index searches smarter about queries against empty ranges.Tom Lane2011-11-26
| | | | | | | In the cases where the result of the called proc is negated, we should explicitly test both inputs for empty, to ensure we'll never return "true" for an unsatisfiable query. In other cases we can rely on the called proc to say the right thing.
* Fix overly-aggressive and inconsistent quoting in OS X start script.Tom Lane2011-11-26
| | | | | Sidar Lopez, per bug #6310, with some additional improvements by me. Back-patch to 9.0, where the issue was introduced.
* Ensure plperl strings are always correctly UTF8 encoded.Andrew Dunstan2011-11-26
| | | | | | Amit Khandekar and Alex Hunsaker. Backpatched to 9.1 where the problem first occurred.