aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Un-break building with BTREE_BUILD_STATS.Tom Lane2011-02-18
| | | | | | This has been broken for awhile, but not clear it's worth back-patching. Euler Taveira de Oliveira
* Fix parallel pg_restore to handle comments on POST_DATA items correctly.Tom Lane2011-02-18
| | | | | | | | | | | | The previous coding would try to process all SECTION_NONE items in the initial sequential-restore pass, which failed if they were dependencies of not-yet-restored items. Fix by postponing such items into the parallel processing pass once we have skipped any non-PRE_DATA item. Back-patch into 9.0; the original parallel-restore coding in 8.4 did not have this bug, so no need to change it. Report and diagnosis by Arnd Hannemann.
* Use $INDENT instead of `which` to find the indent binaryAlvaro Herrera2011-02-18
| | | | Per discussion after my commit o yesterday.
* Make a hard state change from catchup to streaming mode.Simon Riggs2011-02-18
| | | | | More useful state change for monitoring purposes, plus a required change for synchronous replication patch.
* Separate messages for standby replies and hot standby feedback.Simon Riggs2011-02-18
| | | | | | Allow messages to be sent at different times, and greatly reduce the frequency of hot standby feedback. Refactor to allow additional message types.
* Properly initialize variablesMagnus Hagander2011-02-18
| | | | Kevin Grittner
* Applied a patch by Zoltán Böszörményi that makes ecpg's parser accept ↵Michael Meskes2011-02-18
| | | | dynamic cursornames even in WHERE CURRENT OF clauses.
* Fix an uninitialized field in DR_copy.Itagaki Takahiro2011-02-18
| | | | Shigeru HANADA
* Add transaction-level advisory locks.Itagaki Takahiro2011-02-18
| | | | | | | | | They share the same locking namespace with the existing session-level advisory locks, but they are automatically released at the end of the current transaction and cannot be released explicitly via unlock functions. Marko Tiikkaja, reviewed by me.
* Convert Postgres arrays to Perl arrays on PL/perl input argumentsAlvaro Herrera2011-02-17
| | | | | | | | | | | | More generally, arrays are turned in Perl array references, and row and composite types are turned into Perl hash references. This is done recursively, in a way that's natural to every Perl programmer. To avoid a backwards compatibility hit, the string representation of each structure is also available if the function requests it. Authors: Alexey Klyukin and Alex Hunsaker. Some code cleanups by me.
* pgindent run on plperl.cAlvaro Herrera2011-02-17
|
* Use $INDENT rather than indent throughout the pgindent codeAlvaro Herrera2011-02-17
| | | | | This allows the user to change the path to be used more easily. Also, change URL in README.
* Fix tsmatchsel() to account properly for null rows.Tom Lane2011-02-17
| | | | | | | | | | | ts_typanalyze.c computes MCE statistics as fractions of the non-null rows, which seems fairly reasonable, and anyway changing it in released versions wouldn't be a good idea. But then ts_selfuncs.c has to account for that. Failure to do so results in overestimates in columns with a significant fraction of null documents. Back-patch to 8.4 where this stuff was introduced. Jesper Krogh
* Add client_hostname field to pg_stat_activity.Robert Haas2011-02-17
| | | | Peter Eisentraut, reviewed by Steve Singer, Alvaro Herrera, and me.
* Prevent possible compiler warnings.Robert Haas2011-02-17
| | | | | Simon Riggs reports that rnode.dbNode and rnode.spcNode were generating unused variable warnings on gcc 4.4.3 with CFLAGS=-O1
* Add some words of caution to elog.c.Robert Haas2011-02-17
| | | | Stephen Frost, somewhat rewritten by me
* Fix blatantly uninitialized variable in recent commit.Tom Lane2011-02-16
| | | | Doesn't anybody around here pay attention to compiler warnings?
* Fix bogus test for hypothetical indexes in get_actual_variable_range().Tom Lane2011-02-16
| | | | | | | | | | | That function was supposing that indexoid == 0 for a hypothetical index, but that is not likely to be true in any non-toy implementation of an index adviser, since assigning a fake OID is the only way to know at EXPLAIN time which hypothetical index got selected. Fix by adding a flag to IndexOptInfo to mark hypothetical indexes. Back-patch to 9.0 where get_actual_variable_range() was added. Gurjeet Singh
* Add backwards-compatible declarations of some core GIN support functions.Tom Lane2011-02-16
| | | | | | | | | These are needed to support reloading dumps of 9.0 installations containing contrib/intarray or contrib/tsearch2. Since not only regular dump/reload but binary upgrade would fail, it seems worth the trouble to carry these stubs for awhile. Note that the contrib opclasses referencing these functions will still work fine, since GIN doesn't actually pay any attention to the declared signature of a support function.
* Also process psqlrc when running psql -lPeter Eisentraut2011-02-16
| | | | | This was previously not very useful, but with many people customizing the linestyle, it is nice for a consistent appearance.
* Fix for warnings-free compilation with Python 3.2Peter Eisentraut2011-02-16
| | | | | The first argument of PyEval_EvalCode() was changed from PyCodeObject* to PyObject* because of PEP 384.
* Hot Standby feedback for avoidance of cleanup conflicts on standby.Simon Riggs2011-02-16
| | | | | | | | | | | | | Standby optionally sends back information about oldestXmin of queries which is then checked and applied to the WALSender's proc->xmin. GetOldestXmin() is modified slightly to agree with GetSnapshotData(), so that all backends on primary include WALSender within their snapshots. Note this does nothing to change the snapshot xmin on either master or standby. Feedback piggybacks on the standby reply message. vacuum_defer_cleanup_age is no longer used on standby, though parameter still exists on primary, since some use cases still exist. Simon Riggs, review comments from Fujii Masao, Heikki Linnakangas, Robert Haas
* Make a no-op ALTER EXTENSION UPDATE give just a NOTICE, not ERROR.Tom Lane2011-02-16
| | | | This seems a bit more user-friendly.
* WAL receiver shouldn't try to send a reply when dying.Robert Haas2011-02-16
| | | | Per report from, and discussion with, Fujii Masao.
* Add FOREACH IN ARRAY looping to plpgsql.Tom Lane2011-02-16
| | | | | | | (I'm not entirely sure that we've finished bikeshedding the syntax details, but the functionality seems OK.) Pavel Stehule, reviewed by Stephen Frost and Tom Lane
* pg_ctl promoteRobert Haas2011-02-15
| | | | Fujii Masao, reviewed by Robert Haas, Stephen Frost, and Magnus Hagander.
* Export the external file reader used in COPY FROM as APIs.Itagaki Takahiro2011-02-16
| | | | | | | | They are expected to be used by extension modules like file_fdw. There are no user-visible changes. Itagaki Takahiro Reviewed and tested by Kevin Grittner and Noah Misch.
* Fix corner case for binary upgrade: extension functions in pg_catalog.Tom Lane2011-02-15
| | | | | | | | | Normally, pg_dump summarily excludes functions in pg_catalog from consideration. However, some extensions may create functions in pg_catalog (adminpack already does that, and extensions for procedural languages will likely do it too). In binary-upgrade mode, we have to dump such functions, or the extension will be incomplete after upgrading. Per experimentation with adminpack.
* Add CheckTableNotInUse calls in DROP TABLE and DROP INDEX.Tom Lane2011-02-15
| | | | | | | | | | | | | Recent releases had a check on rel->rd_refcnt in heap_drop_with_catalog, but failed to cover the possibility of pending trigger events at DROP time. (Before 8.4 we didn't even check the refcnt.) When the trigger events were eventually fired, you'd get "could not open relation with OID nnn" errors, as in recent report from strk. Better to throw a suitable error when the DROP is attempted. Also add a similar check in DROP INDEX. Back-patch to all supported branches.
* Fix obsolete comment.Tom Lane2011-02-15
| | | | | Comment about MaxAllocSize was not updated when the TOAST-header macros were replaced in 8.3 "varvarlena" changes. Per report from Frederik Ramm.
* Assorted corrections to the patch to add WAL receiver replies.Robert Haas2011-02-15
| | | | Per reports from Fujii Masao.
* Rename max_predicate_locks_per_transaction.Robert Haas2011-02-15
| | | | | | The new name, max_pred_locks_per_transaction, is shorter. Kevin Grittner, per discussion.
* Allow make check in PL directoriesPeter Eisentraut2011-02-15
| | | | | Also add make check-world target, and refactor pg_regress invocation code in makefiles a bit.
* Avoid a few more SET DATA TYPE table rewrites.Robert Haas2011-02-14
| | | | | | | When the new type is an unconstrained domain over the old type, we don't need to rewrite the table. Noah Misch and Robert Haas
* Delete stray word from comment.Robert Haas2011-02-14
|
* PITR can stop at a named restore point when recovery target = timeSimon Riggs2011-02-15
| | | | | | | though must not update the last transaction timestamp. Plus comment and message cleanup for recent named restore point. Fujii Masao, minor changes by me
* Fix MSVC build scripts for recent extension-related changes.Tom Lane2011-02-14
| | | | Untested, but we'll soon see if the buildfarm likes this.
* Rearrange extension-related views as per recent discussion.Tom Lane2011-02-14
| | | | | | | | | | The original design of pg_available_extensions did not consider the possibility of version-specific control files. Split it into two views: pg_available_extensions shows information that is generic about an extension, while pg_available_extension_versions shows all available versions together with information that could be version-dependent. Also, add an SRF pg_extension_update_paths() to assist in checking that a collection of update scripts provide sane update path sequences.
* Add version-sensitive SQL for psql when constraints NOT VALIDSimon Riggs2011-02-15
| | | | Bug report and fix by Andres Freund
* Remove no-longer-needed special case hacks in MSVC build scripts.Tom Lane2011-02-13
|
* Support replacing MODULE_PATHNAME during extension script file execution.Tom Lane2011-02-13
| | | | | | This avoids the need to find a way to make PGXS' .sql.in-to-.sql rule insert the right thing. We'll just deprecate use of that hack for extensions.
* Change the naming convention for extension files to use double dashes.Tom Lane2011-02-13
| | | | | | | | | | This allows us to have an unambiguous rule for deconstructing the names of script files and secondary control files, without having to forbid extension and version names from containing any dashes. We do have to forbid them from containing double dashes or leading/trailing dashes, but neither restriction is likely to bother anyone in practice. Per discussion, this seems like a better solution overall than the original design.
* Fix reverse 'if' test in path_is_relative_and_below_cwd(), per Tom.Bruce Momjian2011-02-13
|
* Refactor ALTER EXTENSION UPDATE to have cleaner multi-step semantics.Tom Lane2011-02-12
| | | | | | | | | | | | | | | | | | | | | | | This change causes a multi-step update sequence to behave exactly as if the updates had been commanded one at a time, including updating the "requires" dependencies afresh at each step. The initial implementation took the shortcut of examining only the final target version's "requires" and changing the catalog entry but once. But on reflection that's a bad idea, since it could lead to executing old update scripts under conditions different than they were designed/tested for. Better to expend a few extra cycles and avoid any surprises. In the same spirit, if a CREATE EXTENSION FROM operation involves applying a series of update files, it will act as though the CREATE had first been done using the initial script's target version and then the additional scripts were invoked with ALTER EXTENSION UPDATE. I also removed the restriction about not changing encoding in secondary control files. The new rule is that a script is assumed to be in whatever encoding the control file(s) specify for its target version. Since this reimplementation causes us to read each intermediate version's control file, there's no longer any uncertainty about which encoding setting would get applied.
* Properly handle Win32 paths of 'E:abc', which can be either absolute orBruce Momjian2011-02-12
| | | | | | relative, by creating a function path_is_relative_and_below_cwd() to check for specific requirements. It is unclear if this fixes a security problem or not but the new code is more robust.
* DDL support for collationsPeter Eisentraut2011-02-12
| | | | | | | | | | | | | - collowner field - CREATE COLLATION - ALTER COLLATION - DROP COLLATION - COMMENT ON COLLATION - integration with extensions - pg_dump support for the above - dependency management - psql tab completion - psql \dO command
* Teach ALTER TABLE .. SET DATA TYPE to avoid some table rewrites.Robert Haas2011-02-12
| | | | | | | | | | | | | | | | | | | | | | | When the old type is binary coercible to the new type and the using clause does not change the column contents, we can avoid a full table rewrite, though any indexes on the affected columns will still need to be rebuilt. This applies, for example, when changing a varchar column to be of type text. The prior coding assumed that the set of operations that force a rewrite is identical to the set of operations that must be propagated to tables making use of the affected table's rowtype. This is no longer true: even though the tuples in those tables wouldn't need to be modified, the data type change invalidate indexes built using those composite type columns. Indexes on the table we're actually modifying can be invalidated too, of course, but the existing machinery is sufficient to handle that case. Along the way, add some debugging messages that make it possible to understand what operations ALTER TABLE is actually performing in these cases. Noah Misch and Robert Haas
* Clean up installation directory choices for extensions.Tom Lane2011-02-11
| | | | | | | | | | | | | | Arrange for the control files to be in $SHAREDIR/extension not $SHAREDIR/contrib, since we're generally trying to deprecate the term "contrib" and this is a once-in-many-moons opportunity to get rid of it in install paths. Fix PGXS to install the $EXTENSION file into that directory no matter what MODULEDIR is set to; a nondefault MODULEDIR should only affect the script and secondary extension files. Fix the control file directory parameter to be interpreted relative to $SHAREDIR, to avoid a surprising disconnect between how you specify that and what you set MODULEDIR to. Per discussion with David Wheeler.
* Add support for multiple versions of an extension and ALTER EXTENSION UPDATE.Tom Lane2011-02-11
| | | | | | | | | | | This follows recent discussions, so it's quite a bit different from Dimitri's original. There will probably be more changes once we get a bit of experience with it, but let's get it in and start playing with it. This is still just core code. I'll start converting contrib modules shortly. Dimitri Fontaine and Tom Lane
* Fix comment recently obsoletedAlvaro Herrera2011-02-11
|