Commit Graph

35161 Commits

Author SHA1 Message Date
Tom Lane f8db76e875 Editorialize a bit on new ProcessUtility() API.
Choose a saner ordering of parameters (adding a new input param after
the output params seemed a bit random), update the function's header
comment to match reality (cmon folks, is this really that hard?),
get rid of useless and sloppily-defined distinction between
PROCESS_UTILITY_SUBCOMMAND and PROCESS_UTILITY_GENERATED.
2013-04-28 00:18:45 -04:00
Tom Lane 5525e6c40b Fix unsafe event-trigger coding in ProcessUtility().
We mustn't run any of the event-trigger support code when handling
utility statements like START TRANSACTION or ABORT, because that code
may need to refresh event-trigger cache data, which requires being
inside a valid transaction.  (This mistake explains the consistent
build failures exhibited by the CLOBBER_CACHE_ALWAYS buildfarm members,
as well as some irreproducible failures on other members.)

The least messy fix seems to be to break standard_ProcessUtility into two
functions, one that handles all the statements not supported by event
triggers, and one that contains the event-trigger support code and handles
the statements that are supported by event triggers.

This change also fixes several inconsistencies, such as four cases where
support had been installed for "ddl_event_start" but not "ddl_event_end"
triggers, plus the fact that InvokeDDLCommandEventTriggersIfSupported()
paid no mind to isCompleteQuery.

Dimitri Fontaine and Tom Lane
2013-04-27 23:11:51 -04:00
Peter Eisentraut bbb4db4e04 pg_dump: Improve message formatting 2013-04-27 23:06:37 -04:00
Tom Lane 5194024d72 Incidental cleanup of matviews code.
Move checking for unscannable matviews into ExecOpenScanRelation, which is
a better place for it first because the open relation is already available
(saving a relcache lookup cycle), and second because this eliminates the
problem of telling the difference between rangetable entries that will or
will not be scanned by the query.  In particular we can get rid of the
not-terribly-well-thought-out-or-implemented isResultRel field that the
initial matviews patch added to RangeTblEntry.

Also get rid of entirely unnecessary scannability check in the rewriter,
and a bogus decision about whether RefreshMatViewStmt requires a parse-time
snapshot.

catversion bump due to removal of a RangeTblEntry field, which changes
stored rules.
2013-04-27 17:48:57 -04:00
Peter Eisentraut f5d576c6d2 Improve message about failed transaction log archiving
The old phrasing appeared to imply that the failure was terminal.
Improve that by indicating that archiving will be tried again later.
2013-04-26 22:43:54 -04:00
Peter Eisentraut b53b603c91 Update config.guess and config.sub 2013-04-26 22:13:03 -04:00
Tom Lane 41a2760f61 Fix collation assignment for aggregates with ORDER BY.
ORDER BY expressions were being treated the same as regular aggregate
arguments for purposes of collation determination, but really they should
not affect the aggregate's collation at all; only collations of the
aggregate's regular arguments should affect it.

In many cases this mistake would lead to incorrectly throwing a "collation
conflict" error; but in some cases the corrected code will silently assign
a different collation to the aggregate than before, for example
	agg(foo ORDER BY bar COLLATE "x")
which will now use foo's collation rather than "x" for the aggregate.
Given this risk and the lack of field complaints about the issue, it
doesn't seem prudent to back-patch.

In passing, rearrange code in assign_collations_walker so that we don't
need multiple copies of the standard logic for computing collation of a
node with children.  (Previously, CaseExpr duplicated the standard logic,
and we would have needed a third copy for Aggref without this change.)

Andrew Gierth and David Fetter
2013-04-26 15:48:53 -04:00
Joe Conway b42ea7981c Ensure that user created rows in extension tables get dumped if the table is explicitly requested, either with a -t/--table switch of the table itself, or by -n/--schema switch of the schema containing the extension table. Patch reviewed by Vibhor Kumar and Dimitri Fontaine.
Backpatched to 9.1 when the extension management facility was added.
2013-04-26 12:02:40 -07:00
Robert Haas 5eb7c4d364 libpq: Fix a few bits that didn't get the memo about COPY BOTH.
There's probably no real bug here at present, so not backpatching.
But it seems good to make these bits consistent with the rest of
libpq, so as to avoid future surprises.

Patch by me.  Review by Tom Lane.
2013-04-26 08:59:40 -04:00
Tom Lane c3d09b3bd2 Avoid deadlock between concurrent CREATE INDEX CONCURRENTLY commands.
There was a high probability of two or more concurrent C.I.C. commands
deadlocking just before completion, because each would wait for the others
to release their reference snapshots.  Fix by releasing the snapshot
before waiting for other snapshots to go away.

Per report from Paul Hinze.  Back-patch to all active branches.
2013-04-25 16:58:05 -04:00
Heikki Linnakangas 447b3174f5 Fix typo in comment.
Peter Geoghegan
2013-04-25 14:09:07 +03:00
Peter Eisentraut 6cf8462834 pg_basebackup: Add missing newlines at end of lines 2013-04-24 22:51:10 -04:00
Peter Eisentraut 4c0343d4af initdb: Improve some messages 2013-04-24 22:50:33 -04:00
Peter Eisentraut 4d67961110 PL/pgSQL doc: Add example for RETURN QUERY
Erwin Brandstetter and Pavel Stěhule
2013-04-24 21:54:46 -04:00
Heikki Linnakangas 0c1a160a68 Add missing #include.
On non-Windows systems, sys/time.h was pulled in by portability/instr_time.h,
which pulled in time.h. We certainly should include time.h directly, since
we're using time(2), but the indirect include masked the problem on most
platforms.

Andres Freund
2013-04-24 19:14:28 +03:00
Kevin Grittner 63e20041a2 Fix assertion failure for REFRESH MATERIALIZED VIEW in PL.
This was due to incomplete implementation of rowcount reporting
for RMV, which was due to initial waffling on whether it should
be provided.  It seems unlikely to be a useful or universally
available  number as more sophisticated techniques for maintaining
matviews are added, so remove the partial support rather than
completing it.

Per report of Jeevan Chalke, but with a different fix
2013-04-24 08:39:06 -05:00
Simon Riggs 2317a63328 Make fast promotion the default promotion mode.
Continue to allow a request for synchronous
checkpoints as a mechanism in case of problems.
2013-04-24 12:21:18 +01:00
Bruce Momjian 173c252bb2 9.3 release notes: adjustments per Alvaro 2013-04-23 23:21:09 -04:00
Bruce Momjian 2d3edce6b3 9.3 release note updates from Dean Rasheed, Jov, Heikki Linnakangas,
Erikjan Rijkers
2013-04-23 17:06:17 -04:00
Heikki Linnakangas cc7b0c2553 Remove prototype for cube(text) function that doesn't exist anymore.
Adrian Schreyer
2013-04-23 13:49:06 +03:00
Bruce Momjian 98a1e7a735 9.3 release notes: add diacritics
Alvaro Herrera
2013-04-22 17:17:00 -04:00
Bruce Momjian e35388451b 9.3 release notes: adjustments per Alvaro and Robert 2013-04-22 16:05:10 -04:00
Heikki Linnakangas ae7363999f Mention in docs that you can create SP-GiST indexes on range types.
This is new in 9.3devel.
2013-04-22 21:51:14 +03:00
Bruce Momjian 4f8799a948 9.3 release notes: apply fixes suggested by Alvaro 2013-04-22 14:33:28 -04:00
Bruce Momjian beaa823bea 9.3 release notes: update streaming replication speedups
Andres Freund
2013-04-22 10:22:49 -04:00
Peter Eisentraut e7d5ffe8ea doc: Improve example formatting
Erwin Brandstetter
2013-04-21 22:22:10 -04:00
Peter Eisentraut 53ecfddceb doc: Fix syntax in example
LANGUAGE 'plpgsql' no longer works.  The single quotes need to be
removed.

Erwin Brandstetter
2013-04-21 22:22:10 -04:00
Bruce Momjian c3ab4ea27d In 9.3 release notes, split up items
Split log shipping speed improvement and fail-over speed improvement items.

Per request from Simon
2013-04-21 21:05:31 -04:00
Bruce Momjian 4be535e2e4 9.3 release note adjustments per request from Andres Freund 2013-04-21 10:08:58 -04:00
Bruce Momjian 1f2236edd1 Remove 9.3 item about fixing DROP INDEX CONCURRENTLY
Already fixed in back branch.
2013-04-21 09:16:23 -04:00
Bruce Momjian ac96e6a8c2 9.3 release note fixes
Move commit_delay, fix Zoltan's name, and adjust range type histogram
text.
2013-04-21 09:14:34 -04:00
Bruce Momjian 864ec2f0cd Adjust 9.3 release notes per request from Simon 2013-04-21 09:05:16 -04:00
Bruce Momjian ef3defcf0d Reorder 9.3 release note items
Typo fix from David Fetter.
2013-04-21 00:57:18 -04:00
Bruce Momjian f0922cbdcc More 9.3 release note reorderings 2013-04-20 17:31:06 -04:00
Bruce Momjian 488eb9055d Fix Gilles Darold's name in 9.3 release notes. 2013-04-20 17:09:14 -04:00
Tom Lane ac63dca607 Fix longstanding race condition in plancache.c.
When creating or manipulating a cached plan for a transaction control
command (particularly ROLLBACK), we must not perform any catalog accesses,
since we might be in an aborted transaction.  However, plancache.c busily
saved or examined the search_path for every cached plan.  If we were
unlucky enough to do this at a moment where the path's expansion into
schema OIDs wasn't already cached, we'd do some catalog accesses; and with
some more bad luck such as an ill-timed signal arrival, that could lead to
crashes or Assert failures, as exhibited in bug #8095 from Nachiket Vaidya.
Fortunately, there's no real need to consider the search path for such
commands, so we can just skip the relevant steps when the subject statement
is a TransactionStmt.  This is somewhat related to bug #5269, though the
failure happens during initial cached-plan creation rather than
revalidation.

This bug has been there since the plan cache was invented, so back-patch
to all supported branches.
2013-04-20 17:00:23 -04:00
Bruce Momjian 61b962345d Reorder some 9.3 release item entries
More to go.
2013-04-20 16:50:56 -04:00
Bruce Momjian 22f956f50c Push 9.3 release SGML file
Forgotten in previous commit.
2013-04-20 16:32:32 -04:00
Bruce Momjian e9a35c2082 Publish draft 9.3 release notes
No links added yet.
2013-04-20 16:29:58 -04:00
Peter Eisentraut 540ec93e33 doc: Mention SATA alongside IDE for Linux
suggested by Jov
2013-04-20 15:56:22 -04:00
Peter Eisentraut cc26ea9fe2 Clean up references to SQL92
In most cases, these were just references to the SQL standard in
general.  In a few cases, a contrast was made between SQL92 and later
standards -- those have been kept unchanged.
2013-04-20 11:04:41 -04:00
Tom Lane 6e481ebff6 Improve error message when an FDW doesn't support WHERE CURRENT OF.
If an FDW fails to take special measures with a CurrentOfExpr, we will
end up trying to execute it as an ordinary qual, which was being treated
as a purely internal failure condition.  Provide a more user-oriented
error message for such cases.
2013-04-19 16:14:56 -04:00
Tom Lane 3353583d7e Don't try to pass -I switch to postmaster in contrib/start-scripts/linux.
Undo thinko in commit 8730618458.
Per bug #8098 from Catherine Devlin.
2013-04-19 13:28:45 -04:00
Robert Haas 4580a4bd2c Fix typo in comment.
Fabrízio de Royes Mello
2013-04-19 09:32:49 -04:00
Peter Eisentraut acd5803053 Standardize spelling of "nonblocking"
Only adjusted the user-exposed messages and documentation,  not all
source code comments.
2013-04-18 23:35:19 -04:00
Bruce Momjian 5286963066 pg_upgrade: Add checksum C comment
We might eventually allow checksum to no-checksum upgrades.
2013-04-17 17:39:19 -04:00
Robert Haas f050457978 sepgsql: Minor improvement to test script, doc fix.
KaiGai Kohei
2013-04-17 09:55:24 -04:00
Robert Haas 0bf5c548d6 sepgsql: One more getObjectIdentity in lieu of getObjectDescription.
KaiGai Kohei, based on a suggestion from Álvaro Herrera
2013-04-17 09:52:59 -04:00
Peter Eisentraut b9bdaf3964 doc: Update PQgetssl() documentation
The return type of PQgetssl() was changed from SSL* to void* a long time
ago, but the documentation was not updated.
2013-04-16 21:42:10 -04:00
Bruce Momjian d61dddba37 pgindent: add newline to die() so script line number is not reported on failure. 2013-04-16 10:30:35 -04:00