- 07 Mar, 2011 15 commits
-
-
Peter Eisentraut authored
This improves reporting, as the error string now includes the actual Python exception. As a side effect, this no longer sets the errcode to ERRCODE_DATA_EXCEPTION, which might be considered a feature, as it's not documented and not clear why iterator errors should be treated differently. Jan Urbański
-
Tom Lane authored
Per a suggestion from Thom Brown, though this is not his proposed patch.
-
Tom Lane authored
Per suggestions from Thom Brown and Robert Haas.
-
Heikki Linnakangas authored
periodically rescan the archive for new timelines, while waiting for new WAL segments to arrive. This allows you to set up a standby server that follows the TLI change if another standby server is promoted to master. Before this, you had to restart the standby server to make it notice the new timeline. This patch only scans the archive for TLI changes, it won't follow a TLI change in streaming replication. That is much needed too, but it would be a much bigger patch than I dare to sneak in this late in the release cycle. There was discussion on improving the sanity checking of the WAL segments so that the system would notice more reliably if the new timeline isn't an ancestor of the current one, but that is not included in this patch. Reviewed by Fujii Masao.
-
Robert Haas authored
Per Josh Berkus; some additional explanatory text by me.
-
Robert Haas authored
Thom Brown
-
Heikki Linnakangas authored
Kevin Grittner
-
Heikki Linnakangas authored
-
Heikki Linnakangas authored
assertions.
-
Bruce Momjian authored
-
Tom Lane authored
Seen with an older gcc version. I'm not sure these represent any real risk factor, but still a bit scary. Anyway we have lots of other volatile-marked variables in this code, so a couple more won't hurt.
-
Tom Lane authored
-
Tom Lane authored
Per testing with a compiler that doesn't like that.
-
Simon Riggs authored
-
- 06 Mar, 2011 10 commits
-
-
Simon Riggs authored
-
Simon Riggs authored
-
Tom Lane authored
Mixing them together alphabetically won't be nice. Per my gripe of 2011-02-12.
-
Simon Riggs authored
If a standby is broadcasting reply messages and we have named one or more standbys in synchronous_standby_names then allow users who set synchronous_replication to wait for commit, which then provides strict data integrity guarantees. Design avoids sending and receiving transaction state information so minimises bookkeeping overheads. We synchronize with the highest priority standby that is connected and ready to synchronize. Other standbys can be defined to takeover in case of standby failure. This version has very strict behaviour; more relaxed options may be added at a later date. Simon Riggs and Fujii Masao, with reviews by Yeb Havinga, Jaime Casanova, Heikki Linnakangas and Robert Haas, plus the assistance of many other design reviewers.
-
Tom Lane authored
Since this field is after a variable-length field, it can't simply be accessed via the C struct for pg_index. Fortunately, the relcache already did the dirty work of pulling the information out to where it can be accessed easily, so this is a one-line fix. Andres Freund
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
toast file names to match the new relfilenode.
-
Bruce Momjian authored
failures.
-
Bruce Momjian authored
error.
-
- 05 Mar, 2011 12 commits
-
-
Bruce Momjian authored
-
Andrew Dunstan authored
-
Tom Lane authored
It's more likely that pg_pltemplate will go away in the future than that we'll add additional specialized infrastructure for it.
-
Tom Lane authored
The original scheme for this was to symlink plpython.$DLSUFFIX to plpython2.$DLSUFFIX, but that doesn't work on Windows, and only accidentally failed to fail because of the way that CREATE LANGUAGE created or didn't create new C functions. My changes of yesterday exposed the weakness of that approach. To fix, get rid of the symlink and make pg_pltemplate show what's really going on.
-
Tom Lane authored
In createlang this is a one-line change. In droplang there's a whole lot of cruft that can be discarded since the extension mechanism now manages removal of the language's support functions. Also, add deprecation notices to these two programs' reference pages, since per discussion we may toss them overboard altogether in a release or two.
-
Robert Haas authored
Noted by Andy Colson
-
Peter Eisentraut authored
-
Robert Haas authored
-
Robert Haas authored
-
Robert Haas authored
In preparation for 9.1alpha4 release notes, where only the 9.1alpha4 features will be emphasized.
-
Tom Lane authored
Recommend use of CREATE EXTENSION rather than plain CREATE LANGUAGE where relevant. Encourage PL authors to provide extension wrappers for their PLs.
-
Tom Lane authored
This mostly just involves creating control, install, and update-from-unpackaged scripts for them. However, I had to adjust plperl and plpython to not share the same support functions between variants, because we can't put the same function into multiple extensions. catversion bump forced due to new contents of pg_pltemplate, and because initdb now installs plpgsql as an extension not a bare language. Add support for regression testing these as extensions not bare languages. Fix a couple of other issues that popped up while testing this: my initial hack at pg_dump binary-upgrade support didn't work right, and we don't want an extra schema permissions test after all. Documentation changes still to come, but I'm committing now to see whether the MSVC build scripts need work (likely they do).
-
- 04 Mar, 2011 3 commits
-
-
Robert Haas authored
This avoids duplicate (and not-quite-matching) code, and makes the logic for SECURITY LABEL match COMMENT and ALTER EXTENSION ADD/DROP.
-
Peter Eisentraut authored
It is possible that an expression ends up with a collatable type but without a collation. CREATE TABLE AS could then create a table based on that. But such a column cannot be dumped with valid SQL syntax, so we disallow creating such a column. per test report from Noah Misch
-
Tom Lane authored
Remove the unconditional superuser permissions check in CREATE EXTENSION, and instead define a "superuser" extension property, which when false (not the default) skips the superuser permissions check. In this case the calling user only needs enough permissions to execute the commands in the extension's installation script. The superuser property is also enforced in the same way for ALTER EXTENSION UPDATE cases. In other ALTER EXTENSION cases and DROP EXTENSION, test ownership of the extension rather than superuserness. ALTER EXTENSION ADD/DROP needs to insist on ownership of the target object as well; to do that without duplicating code, refactor comment.c's big switch for permissions checks into a separate function in objectaddress.c. I also removed the superuserness checks in pg_available_extensions and related functions; there's no strong reason why everybody shouldn't be able to see that info. Also invent an IF NOT EXISTS variant of CREATE EXTENSION, and use that in pg_dump, so that dumps won't fail for installed-by-default extensions. We don't have any of those yet, but we will soon. This is all per discussion of wrapping the standard procedural languages into extensions. I'll make those changes in a separate commit; this is just putting the core infrastructure in place.
-