Commit Graph

28139 Commits

Author SHA1 Message Date
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
Peter Eisentraut 8032d76b5b Gettext plural support
In the backend, I changed only a handful of exemplary or important-looking
instances to make use of the plural support; there is probably more work
there.  For the rest of the source, this should cover all relevant cases.
2009-03-26 22:26:08 +00:00
Tom Lane 845693f70f Fix a couple of places that still claimed LC_COLLATE and LC_CTYPE can't
be changed after initdb.
2009-03-26 20:55:49 +00:00
Tom Lane b793e8344a Adjust phrasing of complaints about multi-byte COPY delimiter strings.
Per pgsql-hackers discussion of 2009-02-17.
2009-03-26 19:24:54 +00:00
Tom Lane f38fbf31f5 If we expect a hash join to be performed in multiple batches, suppress
"physical tlist" optimization on the outer relation (ie, force a projection
step to occur in its scan).  This avoids storing useless column values when
the outer relation's tuples are written to temporary batch files.

Modified version of a patch by Michael Henderson and Ramon Lawrence.
2009-03-26 17:15:35 +00:00
Bruce Momjian ee4c187f64 Correction: ansi-join ->anti-join. 2009-03-26 12:38:03 +00:00
Tom Lane 04c779d3f4 Fix markup so that 'make HISTORY' works. A couple very minor
editorial improvements.
2009-03-26 03:46:14 +00:00
Bruce Momjian 0f1ac2d04c Reorder 8.4 release note sections. 2009-03-26 02:48:53 +00:00
Bruce Momjian cb25bf7047 Re-add release notes for release 8.3.7. 2009-03-26 02:40:37 +00:00
Bruce Momjian 32e7174dbb Adjust AS OF release notes markup. 2009-03-26 01:48:27 +00:00
Bruce Momjian 54a7363af4 Mention release note items current as of 2009-03-16. 2009-03-26 01:31:15 +00:00
Bruce Momjian 4b4a831f18 First version of 8.4 release notes; markup/cleanup/reorganization still
required.
2009-03-26 01:19:07 +00:00
Tom Lane 9151e1bb06 Add btree_gin contrib module.
Teodor Sigaev and Oleg Bartunov
2009-03-25 23:20:01 +00:00
Tom Lane 87b8db3774 Adjust the APIs for GIN opclass support functions to allow the extractQuery()
method to pass extra data to the consistent() and comparePartial() methods.
This is the core infrastructure needed to support the soon-to-appear
contrib/btree_gin module.  The APIs are still upward compatible with the
definitions used in 8.3 and before, although *not* with the previous 8.4devel
function definitions.

catversion bump for changes in pg_proc entries (although these are just
cosmetic, since GIN doesn't actually look at the function signature before
calling it...)

Teodor Sigaev and Oleg Bartunov
2009-03-25 22:19:02 +00:00
Tom Lane 050a78dd3d Fix old thinko in pgp.h: the idea is to declare some named enum types,
not global variables of anonymous enum types.  This didn't actually hurt
much because most linkers will just merge the duplicated definitions ...
but some will complain.  Per bug #4731 from Ceriel Jacobs.

Backpatch to 8.1 --- the declarations don't exist before that.
2009-03-25 15:03:13 +00:00
Peter Eisentraut 9f843d1067 Use double quotes instead of single quotes. 2009-03-25 14:12:02 +00:00
Peter Eisentraut 5353b1c575 Complete list of valid fork names, and use double quotes. 2009-03-25 14:11:48 +00:00
Peter Eisentraut de0c3b3e58 Update line count for \? output (obtained from wc -l) 2009-03-25 13:15:55 +00:00
Peter Eisentraut 842f4bcfe4 In the \? output, align the columns consistently. 2009-03-25 13:14:17 +00:00
Peter Eisentraut 3e90346628 Polish SQL/MED terminology 2009-03-25 13:11:43 +00:00
Peter Eisentraut ac79586bb2 No period if it's not a sentence 2009-03-25 13:07:26 +00:00
Tom Lane e5efda442c Install a search tree depth limit in GIN bulk-insert operations, to prevent
them from degrading badly when the input is sorted or nearly so.  In this
scenario the tree is unbalanced to the point of becoming a mere linked list,
so insertions become O(N^2).  The easiest and most safely back-patchable
solution is to stop growing the tree sooner, ie limit the growth of N.  We
might later consider a rebalancing tree algorithm, but it's not clear that
the benefit would be worth the cost and complexity.  Per report from Sergey
Burladyan and an earlier complaint from Heikki.

Back-patch to 8.2; older versions didn't have GIN indexes.
2009-03-24 22:06:03 +00:00
Tom Lane fc022d72c7 Fix stupid parenthesization mistake. Per bug #4728 from Bruce Toll. 2009-03-24 21:12:56 +00:00