Commit Graph

28261 Commits

Author SHA1 Message Date
Bruce Momjian
33e7eac37c Change psql \d* display so 'S' _or_ a pattern include system objects. 2009-04-02 15:15:32 +00:00
Tom Lane
248891f017 Fix GUC's reports of assign_hook failure to always include the parameter value
we failed to assign, even in "can't happen" cases.  Motivated by wondering
what's going on in a recent trouble report where "failed to commit" did
happen.
2009-04-02 03:51:43 +00:00
Tom Lane
24a814f441 plpgsql's exec_simple_cast_value() mistakenly supposed that it could bypass
casting effort whenever the input value was NULL.  However this prevents
application of not-null domain constraints in the cases that use this
function, as illustrated in bug #4741.  Since this function isn't meant
for use in performance-critical paths anyway, this certainly seems like
another case of "premature optimization is the root of all evil".

Back-patch as far as 8.2; older versions made no effort to enforce
domain constraints here anyway.
2009-04-02 01:16:11 +00:00
Tom Lane
bfd17f94b6 Improve pg_dump's query for retrieving BLOB comments to be more efficient
when there are many blobs and not so many comments.  Tamas Vincze
2009-04-01 18:54:27 +00:00
Heikki Linnakangas
00b24e1678 Update comment to reflect that LC_COLLATE and LC_CTYPE are now
per-database settings.
2009-04-01 09:17:32 +00:00
Tom Lane
dff26735d3 Index some array functions, per Mario Splivalo. 2009-04-01 03:32:29 +00:00
Tom Lane
7cdfa488c7 Remove last references to the crypt auth method, per Andreas Scherbaum. 2009-04-01 03:23:50 +00:00
Tom Lane
c029a6a49e Fix contrib/pgstattuple and contrib/pageinspect to prevent attempts to read
temporary tables of other sessions; that is unsafe because of the way our
buffer management works.  Per report from Stuart Bishop.
This is redundant with the bufmgr.c checks in HEAD, but not at all redundant
in the back branches.
2009-03-31 22:54:31 +00:00
Bruce Momjian
572b60a3bd Remove some "Other" sections in the release notes by putting the items
at the top of their sections.
2009-03-31 22:23:28 +00:00
Tom Lane
948d6ec90f Modify the relcache to record the temp status of both local and nonlocal
temp relations; this is no more expensive than before, now that we have
pg_class.relistemp.  Insert tests into bufmgr.c to prevent attempting
to fetch pages from nonlocal temp relations.  This provides a low-level
defense against bugs-of-omission allowing temp pages to be loaded into shared
buffers, as in the contrib/pgstattuple problem reported by Stuart Bishop.
While at it, tweak a bunch of places to use new relcache tests (instead of
expensive probes into pg_namespace) to detect local or nonlocal temp tables.
2009-03-31 22:12:48 +00:00
Magnus Hagander
84a059abf7 Don't crash initdb when we fail to get the current username.
Give an error message and exit instead, like we do elsewhere...

Per report from Wez Furlong and Robert Treat.
2009-03-31 18:58:16 +00:00
Tom Lane
df13324f08 Add a "relistemp" boolean column to pg_class, which is true for temporary
relations (including a temp table's indexes and toast table/index), and
false for normal relations.  For ease of checking, this commit just adds
the column and fills it correctly --- revising the relation access machinery
to use it will come separately.
2009-03-31 17:59:56 +00:00
Heikki Linnakangas
eeeb782e60 Fix a rare race condition when commit_siblings > 0 and a transaction commits
at the same instant as a new backend is spawned. Since CountActiveBackends()
doesn't hold ProcArrayLock, it needs to be prepared for the case that a
pointer at the end of the proc array is still NULL even though numProcs says
it should be valid, since it doesn't hold ProcArrayLock. Backpatch to 8.1.
8.0 and earlier had this right, but it was broken in the split of PGPROC and
sinval shared memory arrays.

Per report and proposal by Marko Kreen.
2009-03-31 05:18:33 +00:00
Bruce Momjian
db20729ed6 Update release note introductory description. 2009-03-31 02:34:04 +00:00
Tom Lane
97503a5200 Add PQinitOpenSSL() function to support applications that use libcrypto
but not OpenSSL (or perhaps vice versa, if that's possible).

Andrew Chernow, with minor editorialization by me.
2009-03-31 01:41:27 +00:00
Bruce Momjian
c9aa8a62c0 More new subsections in release notes. 2009-03-31 01:26:13 +00:00
Bruce Momjian
5f6f72b05d More release note changes, including a lower level of subsections. 2009-03-30 22:01:15 +00:00
Bruce Momjian
3eedb9a17f More release note adjustments, reordering. 2009-03-30 20:32:49 +00:00
Bruce Momjian
e604c8b51e More release note wording improvements; section order adjustments. 2009-03-30 19:59:19 +00:00
Bruce Momjian
aa0a885e59 Reorder release note sections. 2009-03-30 18:34:56 +00:00
Tom Lane
943337ee5e Fix window function plan generation to cope with volatile sort expressions.
(Not clear how useful these really are, but failing is no good...)
Per report from David Fetter and Robert Treat.
2009-03-30 17:30:44 +00:00
Alvaro Herrera
3fe3b81183 Update URL to Python bug tracker. Backpatch to 8.3; doesn't seem worthy of
further backpatch.
2009-03-30 16:15:43 +00:00
Tom Lane
793d5662e8 Fix an oversight in the support for storing/retrieving "minimal tuples" in
TupleTableSlots.  We have functions for retrieving a minimal tuple from a slot
after storing a regular tuple in it, or vice versa; but these were implemented
by converting the internal storage from one format to the other.  The problem
with that is it invalidates any pass-by-reference Datums that were already
fetched from the slot, since they'll be pointing into the just-freed version
of the tuple.  The known problem cases involve fetching both a whole-row
variable and a pass-by-reference value from a slot that is fed from a
tuplestore or tuplesort object.  The added regression tests illustrate some
simple cases, but there may be other failure scenarios traceable to the same
bug.  Note that the added tests probably only fail on unpatched code if it's
built with --enable-cassert; otherwise the bug leads to fetching from freed
memory, which will not have been overwritten without additional conditions.

Fix by allowing a slot to contain both formats simultaneously; which turns out
not to complicate the logic much at all, if anything it seems less contorted
than before.

Back-patch to 8.2, where minimal tuples were introduced.
2009-03-30 04:08:43 +00:00
Bruce Momjian
a576994e72 More release note markup. 2009-03-29 19:13:46 +00:00
Bruce Momjian
2193b21a0f More release note markup. 2009-03-29 03:58:37 +00:00
Bruce Momjian
087fa888a6 Add SGML markup for commands/literal/application/etc in release notes;
still more work to do.
2009-03-29 03:01:56 +00:00
Bruce Momjian
07c3563fe6 Consistent 8.4 release note naming for Itagaki Takahiro 2009-03-28 22:05:22 +00:00
Bruce Momjian
b86a71c8f4 Clarify variable naming: pq_initssllib -> pq_init_ssl_lib 2009-03-28 18:48:55 +00:00
Bruce Momjian
038777081a Update release notes to say citext is multi-byte aware, per suggestion
from patch author:

       Add /contrib/citext as a case-insensitive, multibyte-capable
	text data type (David Wheeler)
2009-03-28 14:15:15 +00:00
Bruce Momjian
8fbef1090b Better document that SET ROLE does not uset ALTER ROLE SET settings;
suggested wording from Josh Berkus.
2009-03-28 03:26:02 +00:00
Bruce Momjian
3ab95c2ab0 Better document PQinitSSL(0) behavior in regards to libcrypto. 2009-03-28 01:36:11 +00:00
Tom Lane
2938f8c4ea Add documentation of the fact that dtrace probes evaluate their parameters
even when not active.  Explain how to prevent that with an ENABLED() check.
2009-03-28 00:10:23 +00:00
Bruce Momjian
3c2ce020b7 Document in release notes that NOT IN is only for NOT EXIST clauses.
Andrew Gierth
2009-03-27 22:39:42 +00:00
Tom Lane
3da36407c0 On Solaris, we should only force use of our own getopt(); it's okay to use
the system's getopt_long().  The previous coding was the result of a sloppy
discussion that failed to draw this distinction.  The result was that PG
programs don't handle options as users of that platform expect.  Per
gripe from Chuck McDevitt.

Although this is a pre-existing bug, I'm not backpatching since I think we
could do with a bit of beta testing before concluding this is really OK.
2009-03-27 19:58:11 +00:00
Magnus Hagander
665aa5e540 Fix markup, per Devrim 2009-03-27 19:17:11 +00:00
Tom Lane
fc92450e7d Add an errdetail explaining why we reject infinite dates and timestamps
while converting to XML.  Bernd Helmle
2009-03-27 18:56:57 +00:00
Tom Lane
25bf7f8b9b Fix possible failures when a tuplestore switches from in-memory to on-disk
mode while callers hold pointers to in-memory tuples.  I reported this for
the case of nodeWindowAgg's primary scan tuple, but inspection of the code
shows that all of the calls in nodeWindowAgg and nodeCtescan are at risk.
For the moment, fix it with a rather brute-force approach of copying
whenever one of the at-risk callers requests a tuple.  Later we might
think of some sort of reference-count approach to reduce tuple copying.
2009-03-27 18:30:21 +00:00
Tom Lane
a95307b639 Teach reindex_index() to clear pg_index.indcheckxmin when possible.
Greg Stark, slightly modified by me.
2009-03-27 15:57:11 +00:00
Heikki Linnakangas
c1dcaa86de Fix tab completion of ANALYZE VERBOSE <tab>. It was previously confused
with EXPLAIN ANALYZE VERBOSE.

Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where the
bug was introduced.
2009-03-27 14:58:46 +00:00
Magnus Hagander
2e427ec05a Clearify new SSL certificate verification in libpq 2009-03-27 12:01:57 +00:00
Magnus Hagander
cc42c14e36 Fix release notes about pg_hba changes 2009-03-27 11:58:21 +00:00
Bruce Momjian
be99a030a4 Updated release wording, per Greg Stark:
Previously EXPLAIN VERBOSE had output an internal
	representation of the
2009-03-27 02:25:04 +00:00
Bruce Momjian
990fe113bd Second batch of release note fixes by Guillaume Smet 2009-03-27 01:44:30 +00:00
Bruce Momjian
03f625d4d5 Mark Greg as the instigator of the statistics target increase:
Increase the default value of default_statistics_target from 10 to 100
       (Greg Sabino Mullane, Tom)
2009-03-27 01:26:36 +00:00
Bruce Momjian
250bc515e4 First round of release note changes from Guillaume Smet. 2009-03-27 00:45:40 +00:00
Bruce Momjian
936815e9ab Fix release note attribution:
Support the IS0 8601 time interval syntax (Tom, Kevin
	Grittner)

per Ron Mayer
2009-03-27 00:11:34 +00:00
Bruce Momjian
e106b0a70e Improved release notes interval wording:
Made interval seconds rounding more consistent across output
       formats (Ron Mayer)

Ron Mayer
2009-03-27 00:08:14 +00:00
Bruce Momjian
4c8f90f6b9 Remove duplicate interval (fractional seconds) items; Ron Mayer 2009-03-27 00:06:14 +00:00
Bruce Momjian
0f84033a68 Document that Datestyle no longer controls interval output, per
suggestion from Ron Mayer
2009-03-27 00:01:47 +00:00
Tom Lane
c7662960b1 Make pg_standby's maxretries option do what one would expect. Fujii Masao 2009-03-26 22:29:13 +00:00