aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Tweak collation setup for GIN index comparison functions.Tom Lane2011-04-08
| | | | | | | Honor index column's collation spec if there is one, don't go to the expense of calling get_typcollation when we can reasonably assume that all GIN storage types will use default collation, and be sure to set a collation for the comparePartialFn too.
* Avoid an unnecessary syscache lookup in parse_coerce.c.Tom Lane2011-04-08
| | | | | | All the other fields of the constant are being extracted from the syscache entry we already have, so handle collation similarly. (There don't seem to be any other uses for the new function at the moment.)
* Make psql use pg_table_size instead of pg_relation_size on 9.0+ servers.Robert Haas2011-04-08
| | | | | | | Per discussion, pg_table_size() is a more helpful number than pg_relation_size(). Bernd Helmle, reviewed by Susanne Ebrecht and me.
* Fix bug in propagating ALTER TABLE actions to typed tables.Robert Haas2011-04-08
| | | | | | | We need to propagate such actions to all typed table children of a given type, not just the first one. Noah Misch
* Modify initdb to complain only when no usable system locales are found.Tom Lane2011-04-08
| | | | | | Per discussion, the original behavior seems too noisy. But if things are so broken that none of the locales reported by "locale -a" are usable, that's probably worth warning about.
* Partially roll back overenthusiastic SSI optimization.Robert Haas2011-04-08
| | | | | | | | | When a regular lock is held, SSI can use that in lieu of a predicate lock to detect rw conflicts; but if the regular lock is being taken by a subtransaction, we can't assume that it'll commit, so releasing the parent transaction's lock in that case is a no-no. Kevin Grittner
* Have pg_upgrade properly preserve relfrozenxid in toast tables.Bruce Momjian2011-04-08
| | | | | This fixes a pg_upgrade bug that could lead to query errors when clog files are improperly removed.
* Fix some sloppiness in new PL/python get_source_line() function.Robert Haas2011-04-08
| | | | Jan Urbański
* Avoid use of mixed slash style paths in arguments to xcopy in MSVC builds.Andrew Dunstan2011-04-07
| | | | | Some versions of xcopy, notably on Windows 7 don't like it. Backpatch to 8.3, where we first used xcopy.
* Tweaks for SSI out-of-shared memory behavior.Robert Haas2011-04-07
| | | | | | | | | | | | | | If we call hash_search() with HASH_ENTER, it will bail out rather than return NULL, so it's redundant to check for NULL again in the caller. Thus, in cases where we believe it's impossible for the hash table to run out of slots anyway, we can simplify the code slightly. On the flip side, in cases where it's theoretically possible to run out of space, we don't want to rely on dynahash.c to throw an error; instead, we pass HASH_ENTER_NULL and throw the error ourselves if a NULL comes back, so that we can provide a more descriptive error message. Kevin Grittner
* Modernize dlopen interface code for FreeBSD and OpenBSD.Tom Lane2011-04-07
| | | | | | | | | | Remove the hard-wired assumption that __mips__ (and only __mips__) lacks dlopen in FreeBSD and OpenBSD. This assumption is outdated at least for OpenBSD, as per report from an anonymous 9.1 tester. We can perfectly well use HAVE_DLOPEN instead to decide which code to use. Some other cosmetic adjustments to make freebsd.c, netbsd.c, and openbsd.c exactly alike.
* Fix SortTocFromFile() to cope with lines that are too long for its buffer.Tom Lane2011-04-07
| | | | | | | | | | | The original coding supposed that a dump TOC file could never contain lines longer than 1K. The folly of that was exposed by a recent report from Per-Olov Esgard. We only really need to see the first dozen or two bytes of each line, since we're just trying to read off the numeric ID at the start of the line; so there's no need for a particularly huge buffer. What there is a need for is logic to not process continuation bufferloads. Back-patch to all supported branches, since it's always been like this.
* Preserve pg_largeobject_metadata.relfrozenxid in pg_upgrade.Bruce Momjian2011-04-07
| | | | | | This is needed only in 9.1 because only 9.0 had this and no one is upgrading from a 9.0 beta to 9.0 anymore. We basically don't backpatch 9.0 beta fixes at this point.
* Fix collations when we call transformWhereClause from outside the parser.Tom Lane2011-04-07
| | | | | | | | | | | Previous patches took care of assorted places that call transformExpr from outside the main parser, but I overlooked the fact that some places use transformWhereClause as a shortcut for transformExpr + coerce_to_boolean. In particular this broke collation-sensitive index WHERE clauses, as per report from Thom Brown. Trigger WHEN and rule WHERE clauses too. I'm not forcing initdb for this fix, but any affected indexes, triggers, or rules will need to be dropped and recreated.
* Revise the API for GUC variable assign hooks.Tom Lane2011-04-07
| | | | | | | | | | | | | | | | | The previous functions of assign hooks are now split between check hooks and assign hooks, where the former can fail but the latter shouldn't. Aside from being conceptually clearer, this approach exposes the "canonicalized" form of the variable value to guc.c without having to do an actual assignment. And that lets us fix the problem recently noted by Bernd Helmle that the auto-tune patch for wal_buffers resulted in bogus log messages about "parameter "wal_buffers" cannot be changed without restarting the server". There may be some speed advantage too, because this design lets hook functions avoid re-parsing variable values when restoring a previous state after a rollback (they can store a pre-parsed representation of the value instead). This patch also resolves a longstanding annoyance about custom error messages from variable assign hooks: they should modify, not appear separately from, guc.c's own message about "invalid parameter value".
* Update regression test files for PL/Python traceback patchPeter Eisentraut2011-04-06
|
* Add traceback information to PL/Python errorsPeter Eisentraut2011-04-06
| | | | | | | This mimics the traceback information the Python interpreter prints with exceptions. Jan Urbański
* Repair some flakiness in CheckTargetForConflictsIn.Robert Haas2011-04-05
| | | | | | | | | | When we release and reacquire SerializableXactHashLock, we must recheck whether an R/W conflict still needs to be flagged, because it could have changed under us in the meantime. And when we release the partition lock, we must re-walk the list of predicate locks from the beginning, because our pointer could get invalidated under us. Bug report #5952 by Yamamoto Takashi. Patch by Kevin Grittner.
* Add casts from int4 and int8 to numeric.Robert Haas2011-04-05
| | | | Joey Adams, per gripe from Ramanujam. Review by myself and Tom Lane.
* Avoid assuming there will be only 3 states for synchronous_commit.Simon Riggs2011-04-04
| | | | | | Also avoid hardcoding the current default state by giving it the name "on" and replace with a meaningful name that reflects its behaviour. Coding only, no change in behaviour.
* Update MSVC toolchain to match SGML entity uppercasingAlvaro Herrera2011-04-04
| | | | Per Robert Haas
* Merge synchronous_replication setting into synchronous_commit.Robert Haas2011-04-04
| | | | | | | | This means one less thing to configure when setting up synchronous replication, and also avoids some ambiguity around what the behavior should be when the settings of these variables conflict. Fujii Masao, with additional hacking by me.
* Include pid in pg_lock_status() results even for SIREAD locks.Robert Haas2011-04-04
| | | | Dan Ports
* Rearrange "add column" logic to merge columns at exec time.Robert Haas2011-04-03
| | | | | | | | | The previous coding set attinhcount too high in some cases, resulting in an undumpable, undroppable column. Per bug #5856, reported by Naoya Anzai. See also commit 31b6fc06d83c6de3644c8f2921eb7de0eb92fac3, which fixes a similar bug in ALTER TABLE .. ADD CONSTRAINT. Patch by Noah Misch.
* Avoid possible hang during smart shutdown.Robert Haas2011-04-03
| | | | | | | | | | | | | | | If a smart shutdown occurs just as a child is starting up, and the child subsequently becomes a walsender, there is a race condition: the postmaster might count the exstant backends, determine that there is one normal backend, and wait for it to die off. Had the walsender transition already occurred before the postmaster counted, it would have proceeded with the shutdown. To fix this, have each child that transforms into a walsender kick the postmaster just after doing so, so that the state machine is certain to advance. Fujii Masao
* Fix typo in PQconnectStartParams().Tom Lane2011-04-02
| | | | | | | | This would lead to leaking the PGconn structure after an error detected by conninfo_array_parse(), as well as failing to return a useful error message in such cases. Backpatch to 9.0 where the error was introduced. Joseph Adams
* Avoid palloc before CurrentMemoryContext is set up on win32Magnus Hagander2011-04-01
| | | | | | | Instead, write the unconverted output - it will be in the wrong encoding, but at least we don't crash. Rushabh Lathia
* Tab completion for COMMENT ON FOREIGN DATA WRAPPER / SERVER.Robert Haas2011-04-01
|
* pg_dump support for comments on FOREIGN DATA WRAPPER and SERVER objects.Robert Haas2011-04-01
| | | | Shigeru Hanada, with some corrections.
* Support comments on FOREIGN DATA WRAPPER and SERVER objects.Robert Haas2011-04-01
| | | | | | | | | | This mostly involves making it work with the objectaddress.c framework, which does most of the heavy lifting. In that vein, change GetForeignDataWrapperOidByName to get_foreign_data_wrapper_oid and GetForeignServerOidByName to get_foreign_server_oid, to match the pattern we use for other object types. Robert Haas and Shigeru Hanada
* Fix compiler warning.Robert Haas2011-04-01
|
* Fix two missing spaces in error messages.Heikki Linnakangas2011-04-01
| | | | Josh Kupershmidt
* Fix a tiny race condition in predicate locking. Need to hold the lock whileHeikki Linnakangas2011-03-31
| | | | | | | | examining the head of predicate locks list. Also, fix the comment of RemoveTargetIfNoLongerUsed, it was neglected when we changed the way update chains are handled. Kevin Grittner
* Increase SHMEM_INDEX_SIZE from 32 to 64. We're currently at 40 entries inHeikki Linnakangas2011-03-31
| | | | | | ShmemIndex, so 64 leaves some headroom. Kevin Grittner
* Don't leak the temporary PLyProcedure struct we create for inline plpythonHeikki Linnakangas2011-03-31
| | | | | | blocks. Investigation by Jan Urbański, though I didn't use his patch.
* Improve error message when WAL ends before reaching end of online backup.Heikki Linnakangas2011-03-31
|
* Attempt to unbreak windows builds broken by commit 754baa2.Andrew Dunstan2011-03-30
|
* Check that we've reached end-of-backup also when we're not performingHeikki Linnakangas2011-03-30
| | | | | | | | | | | | | | archive recovery. It's possible to restore an online backup without recovery.conf, by simply copying all the necessary WAL files to pg_xlog. "pg_basebackup -x" does that too. That's the use case where this cross-check is useful. Backpatch to 9.0. We used to do this in earlier versins, but in 9.0 the code was inadvertently changed so that the check is only performed after archive recovery. Fujii Masao.
* Automatically terminate replication connections that are idle for moreHeikki Linnakangas2011-03-30
| | | | | | | | | than replication_timeout (a new GUC) milliseconds. The TCP timeout is often too long, you want the master to notice a dead connection much sooner. People complained about that in 9.0 too, but with synchronous replication it's even more important to notice dead connections promptly. Fujii Masao and Heikki Linnakangas
* Adjust error message, now that we expect other message types than connectionHeikki Linnakangas2011-03-30
| | | | | | close at this point. Fix PQsetnonblocking() comment. Fujii Masao
* Update SQL features listPeter Eisentraut2011-03-29
| | | | | | | | | Feature F692 "Extended collation support" is now also supported. This refers to allowing the COLLATE clause anywhere in a column or domain definition instead of just directly after the type. Also correct the name of the feature in accordance with the latest SQL standard.
* Add maintainer-check targetPeter Eisentraut2011-03-28
| | | | | | This can do various source code checks that are not appropriate for either the build or the regression tests. Currently: duplicate_oids, SGML syntax and tabs check, NLS syntax check.
* Make duplicate_oids return nonzero exit status if duplicates were foundPeter Eisentraut2011-03-28
| | | | Automatic detection of errors is easier that way.
* Prevent a rowtype from being included in itself.Tom Lane2011-03-28
| | | | | | | | | | | | | | | | Eventually we might be able to allow that, but it's not clear how many places need to be fixed to prevent infinite recursion when there's a direct or indirect inclusion of a rowtype in itself. One such place is CheckAttributeType(), which will recurse to stack overflow in cases such as those exhibited in bug #5950 from Alex Perepelica. If we were sure it was the only such place, we could easily modify the code added by this patch to stop the recursion without a complaint ... but it probably isn't the only such place. Hence, throw error until such time as someone is excited enough about this type of usage to put work into making it safe. Back-patch as far as 8.3. 8.2 doesn't have the recursive call in CheckAttributeType in the first place, so I see no need to add code there in the absence of clear evidence of a problem elsewhere.
* fix up a couple non-prototypes of the form foo() to be foo(void) -- found ↵Greg Stark2011-03-27
| | | | using -Wstrict-prototypes
* Fix check_exclusion_constraint() to insert correct collations in ScanKeys.Tom Lane2011-03-27
|
* Fix plpgsql to release SPI plans when a function or DO block is freed.Tom Lane2011-03-27
| | | | | | | | | | This fixes the gripe I made a few months ago about DO blocks getting slower with repeated use. At least, it fixes it for the case where the DO block isn't aborted by an error. We could try running plpgsql_free_function_memory() even during error exit, but that seems a bit scary since it makes a lot of presumptions about the data structures being in good shape. It's probably reasonable to assume that repeated failures of DO blocks isn't a performance-critical case.
* Clean up cruft around collation initialization for tupdescs and scankeys.Tom Lane2011-03-26
| | | | | I found actual bugs in GiST and plpgsql; the rest of this is cosmetic but meant to decrease the odds of future bugs of omission.
* More collations cleanup, from trawling for missed collation assignments.Tom Lane2011-03-26
| | | | | Mostly cosmetic, though I did find that generateClonedIndexStmt failed to clone the index's collations.
* Clean up a few failures to set collation fields in expression nodes.Tom Lane2011-03-26
| | | | | | | | | I'm not sure these have any non-cosmetic implications, but I'm not sure they don't, either. In particular, ensure the CaseTestExpr generated by transformAssignmentIndirection to represent the base target column carries the correct collation, because parse_collate.c won't fix that. Tweak lsyscache.c API so that we can get the appropriate collation without an extra syscache lookup.