Commit Graph

33609 Commits

Author SHA1 Message Date
Tom Lane fd350ef395 Fix bogus declaration of local variable.
rc should be an int here, not a pgsocket.  Fairly harmless as long as
pgsocket is an integer type, but nonetheless wrong.  Error introduced
in commit 87091cb1f1.
2012-05-13 00:30:32 -04:00
Tom Lane 398b240151 Avoid unnecessary process wakeups in the log collector.
syslogger was coded to wake up once per second whether there was anything
useful to do or not.  As part of our campaign to reduce the server's idle
power consumption, change it to use a latch for waiting.  Now, in the
absence of any data to log or any signals to service, it will only wake up
at the programmed logfile rotation times (if any).
2012-05-12 19:21:54 -04:00
Peter Eisentraut 7b85527eae Remove unused AC_SUBST variables
These were apparently never used.  The AC_SUBST was probably just
added in a copy-and-paste manner.  (The shell variables continue to be
used inside configure.  The change is just that we don't need them
outside of configure.)
2012-05-12 23:39:38 +03:00
Tom Lane 31ad655364 Fix WaitLatchOrSocket to handle EOF on socket correctly.
When using poll(), EOF on a socket is reported with the POLLHUP not
POLLIN flag (at least on Linux).  WaitLatchOrSocket failed to check
this bit, causing it to go into a busy-wait loop if EOF occurs.
We earlier fixed the same mistake in the test for the state of the
postmaster_alive socket, but missed it for the caller-supplied socket.
Fortunately, this error is new in 9.2, since 9.1 only had a select()
based code path not a poll() based one.
2012-05-12 16:36:47 -04:00
Bruce Momjian d36eaa2167 Update group commit release note item. 2012-05-12 08:55:07 -04:00
Simon Riggs 867540b49c Ensure backwards compatibility for GetStableLatestTransactionId() 2012-05-12 13:26:10 +01:00
Peter Eisentraut afe86a9e73 Fix obsolescent C declaration syntax
gcc -Wextra/-Wold-style-declaration thinks that "inline" should go
before the function return type.
2012-05-12 12:52:02 +03:00
Tom Lane a5985a96a8 Explain compatibility item about language names a bit more.
Since we've got an "open items" list item about this, apparently some
people are pretty worried about it.

In passing remove a lot of trailing whitespace.
2012-05-11 18:53:12 -04:00
Tom Lane f35ebd2aa1 Update example of process titles shown by "ps".
This example was quite old: it lacked the WAL writer and autovac launcher
as well as the more recently added checkpointer.  Linux "ps" seems to show
slightly different stuff now too.
2012-05-11 18:33:39 -04:00
Tom Lane d0c231d132 Cosmetic adjustments for postmaster's handling of checkpointer.
Correct some comments, order some operations a bit more consistently.
No functional changes.
2012-05-11 17:46:37 -04:00
Peter Eisentraut 2cfb1c6f77 PL/Python: Adjust the regression tests for Python 3.3
The string representation of ImportError changed.  Remove printing
that; it's not necessary for the test.

The order in which members of a dict are printed changed.  But this
was always implementation-dependent, so we have just been lucky for a
long time.  Do the printing the hard way to ensure sorted order.
2012-05-11 23:04:47 +03:00
Tom Lane 63fecc9177 Fix contrib/citext's upgrade script to handle array and domain cases.
We previously recognized that citext wouldn't get marked as collatable
during pg_upgrade from a pre-9.1 installation, and hacked its
create-from-unpackaged script to manually perform the necessary catalog
adjustments.  However, we overlooked the fact that domains over citext,
as well as the citext[] array type, need the same adjustments.  Extend
the script to handle those cases.

Also, the documentation suggested that this was only an issue in pg_upgrade
scenarios, which is quite wrong; loading any dump containing citext from a
pre-9.1 server will also result in the type being wrongly marked.

I approached the documentation problem by changing the 9.1.2 release note
paragraphs about this issue, which is historically inaccurate.  But it
seems better than having the information scattered in multiple places, and
leaving incorrect info in the 9.1.2 notes would be bad anyway.  We'll still
need to mention the issue again in the 9.1.4 notes, but perhaps they can
just reference 9.1.2 for fix instructions.

Per report from Evan Carroll.  Back-patch into 9.1.
2012-05-11 15:22:30 -04:00
Robert Haas 1331cc6c1a Prevent loss of init fork when truncating an unlogged table.
Fixes bug #6635, reported by Akira Kurosawa.
2012-05-11 09:48:56 -04:00
Simon Riggs b762e8f50b Remove extraneous #include "storage/proc.h" 2012-05-11 14:46:46 +01:00
Simon Riggs b06679e012 Ensure age() returns a stable value rather than the latest value 2012-05-11 14:36:24 +01:00
Heikki Linnakangas 3652d72dd4 On GiST page split, release the locks on child pages before recursing up.
When inserting the downlinks for a split gist page, we used hold the locks
on the child pages until the insertion into the parent - and recursively its
parent if it had to be split too - were all completed. Change that so that
the locks on child pages are released after the insertion in the immediate
parent is done, before recursing further up the tree.

This reduces the number of lwlocks that are held simultaneously. Holding
many locks is bad for concurrency, and in extreme cases you can even hit
the limit of 100 simultaneously held lwlocks in a backend. If you're really
unlucky, you can hit the limit while in a critical section, which brings
down the whole system.

This fixes bug #6629 reported by Tom Forbes. Backpatch to 9.1. The page
splitting code was rewritten in 9.1, and the old code did not have this
problem.
2012-05-11 12:35:28 +03:00
Tom Lane 817ec1bc82 Improve discussion of setting server parameters.
Rewrite description of "include_if_exists" for clarity.  Add subsection
headings to make the structure of the page a little clearer.  A couple
other minor improvements too.

Josh Kupershmidt and Tom Lane
2012-05-10 23:01:28 -04:00
Bruce Momjian ee24de4001 Revert catalog bump; was post-beta1, and unnecessary. 2012-05-10 18:44:47 -04:00
Bruce Momjian d2fe836cd2 Update comment for 'name' data type to say 63 "bytes".
Catalog version bump so everyone has the same comment for beta1.
2012-05-10 18:40:40 -04:00
Tom Lane f70fa835e0 Stamp 9.2beta1. 2012-05-10 18:35:09 -04:00
Tom Lane e3cdc1532c Tweak documentation wording to avoid "pdfendlink" failure.
HEAD documentation was failing to build as US PDF for me, because a link
to "CREATE CAST" was getting split across pages.  Adjust wording to
remove this rather gratuitous cross-reference.
2012-05-10 18:02:50 -04:00
Tom Lane cb2f2873d6 Temporarily revert stats collector latch changes so we can ship beta1.
This patch reverts commit 49340037ee and some
follow-on tweaking in pgstat.c.  While the basic scheme of latch-ifying the
stats collector seems sound enough, it's failing on most Windows buildfarm
members for unknown reasons, and there's no time left to debug that before
9.2beta1.  Better to ship a beta version without this improvement.  I hope
to re-revert this once beta1 is out, though.
2012-05-10 17:26:33 -04:00
Bruce Momjian 5428ff4af8 Merge visibility map crash-safety into index-only scan release note
item, per Robert Haas.
2012-05-10 16:50:46 -04:00
Tom Lane f40022f1ad Make WaitLatch's WL_POSTMASTER_DEATH result trustworthy; simplify callers.
Per a suggestion from Peter Geoghegan, make WaitLatch responsible for
verifying that the WL_POSTMASTER_DEATH bit it returns is truthful (by
testing PostmasterIsAlive).  Then simplify its callers, who no longer
need to do that for themselves.  Remove weasel wording about falsely-set
result bits from WaitLatch's API contract.
2012-05-10 14:34:53 -04:00
Peter Eisentraut 586d356bc5 Properly capitalize the TimeZone parameter
For better or worse, it is implemented in mixed case, so document it
as such, at least in the main listing, like DateStyle.

Josh Kupershmidt
2012-05-10 20:59:09 +03:00
Bruce Momjian 45f6fb2713 Add comma after "Previously" as suggested by Josh Kupershmidt 2012-05-10 13:47:58 -04:00
Peter Eisentraut a97207b690 PL/Python: Fix slicing support for result objects for Python 3
The old way of implementing slicing support by implementing
PySequenceMethods.sq_slice no longer works in Python 3.  You now have
to implement PyMappingMethods.mp_subscript.  Do this by simply
proxying the call to the wrapped list of result dictionaries.
Consolidate some of the subscripting regression tests.

Jan Urbański
2012-05-10 20:40:30 +03:00
Peter Eisentraut 1540d3bf4d PL/Python: Update incorrect comment
Jan Urbański
2012-05-10 20:40:30 +03:00
Bruce Momjian ffda90f3af 9.2 release note updates from Peter Geoghegan 2012-05-10 13:38:14 -04:00
Tom Lane ada8fa08fc Fix Windows implementation of PGSemaphoreLock.
The original coding failed to reset ImmediateInterruptOK before returning,
which would potentially allow a subsequent query-cancel interrupt to be
accepted at an unsafe point.  This is a really nasty bug since it's so hard
to predict the consequences, but they could be unpleasant.

Also, ensure that signal handlers are serviced before this function
returns, even if the semaphore is already set.  This should make the
behavior more like Unix.

Back-patch to all supported versions.
2012-05-10 13:36:14 -04:00
Tom Lane 8ebc908c57 Improve Windows implementation of WaitLatch/WaitLatchOrSocket.
Ensure that signal handlers are serviced before this function returns.
This should make the behavior more like Unix.  Also, add some more
error checking, and make some other cosmetic improvements.

No back-patch since it's not clear whether this is fixing any live bug
that would affect 9.1.  I'm more concerned about 9.2 anyway given our
considerable recent expansions in the usage of WaitLatch.
2012-05-10 13:26:47 -04:00
Bruce Momjian 53216e3992 New 9.2 SSL parameters are GUC, not libpq, per Magnus's observation. 2012-05-10 13:16:10 -04:00
Bruce Momjian deb2c6e381 Add 9.2 release note suggestions from Heikki, 2012-05-10 13:13:14 -04:00
Peter Eisentraut 1d158d7f98 Python 2.2 is no longer supported
It was already on its last legs, and it turns out that it was
accidentally broken in commit 89e850e6fd
and no one cared.  So remove the rest the support for it and update
the documentation to indicate that Python 2.3 is now required.
2012-05-10 20:02:57 +03:00
Peter Eisentraut d9bb75dd37 Whitespace cleanup 2012-05-10 20:02:57 +03:00
Bruce Momjian 1908a6796a 9.2 release note adjustments from Robert Haas. 2012-05-10 13:00:18 -04:00
Bruce Momjian d413efe9e1 Another doc fix for HTML entities. 2012-05-10 12:54:39 -04:00
Bruce Momjian 77bfdb11d0 Update entitiy escapes docs; must be Latin1. 2012-05-10 12:53:21 -04:00
Bruce Momjian 38cd7cc0bc Remove URL that suggested numeric HTML entities. 2012-05-10 12:33:54 -04:00
Tom Lane 47ce4c36a7 Remove unportable use of SGML character-code entity.
It'd be nice to be able to spell Jan Urbanski's name with the correct
accent marks, but we haven't yet found a way that works in everybody's
docs toolchain.  This way definitely doesn't.
2012-05-10 12:22:22 -04:00
Bruce Momjian 1ee90397f4 Release notes adjustments from Erik Rijkers 2012-05-10 11:21:13 -04:00
Bruce Momjian 5d258fe90c Improve two 9.2 release note items. 2012-05-10 10:29:49 -04:00
Heikki Linnakangas 386bb92f63 Fix a couple of typos in 9.2 release notes.
Thom Brown
2012-05-10 15:42:06 +03:00
Heikki Linnakangas 3e8e692bbc Copy-editing 9.2 release notes.
Fix a couple of typos, add missing filename tags, and add a link to the doc
section on timezone guc.
2012-05-10 10:46:27 +03:00
Magnus Hagander f33c5d471c Only attempt to show collations on servers >= 9.1.
Show a proper error message instead of a SQL error.

Josh Kupershmidt
2012-05-10 09:12:26 +02:00
Heikki Linnakangas 60a3dffb72 Fix outdated comment.
Multi-insert records observe XLOG_HEAP_INIT_PAGE flag too, as Andres Freund
pointed out.
2012-05-10 09:55:48 +03:00
Joe Conway b58bacdacb PL/pgSQL RETURN NEXT was leaking converted tuples, causing
out of memory when looping through large numbers of rows.
Flag the converted tuples to be freed. Complaint and patch
by Joe.
2012-05-09 22:57:19 -07:00
Tom Lane fd71421b01 Improve tests for postmaster death in auxiliary processes.
In checkpointer and walwriter, avoid calling PostmasterIsAlive unless
WaitLatch has reported WL_POSTMASTER_DEATH.  This saves a kernel call per
iteration of the process's outer loop, which is not all that much, but a
cycle shaved is a cycle earned.  I had already removed the unconditional
PostmasterIsAlive calls in bgwriter and pgstat in previous patches, but
forgot that WL_POSTMASTER_DEATH is supposed to be treated as untrustworthy
(per comment in unix_latch.c); so adjust those two cases to match.

There are a few other places where the same idea might be applied, but only
after substantial code rearrangement, so I didn't bother.
2012-05-10 00:54:56 -04:00
Bruce Momjian e78cc624e8 Update 9.2 SSL release note links. 2012-05-10 00:32:17 -04:00
Tom Lane d3ae406f54 Further tweaking of nomenclature in checkpointer.c.
Get rid of some more naming choices that only make sense if you know that
this code used to be in the bgwriter, as well as some stray comments
referencing the bgwriter.
2012-05-10 00:01:10 -04:00