Tom Lane [Sat, 13 Oct 2007 20:18:42 +0000 (20:18 +0000)]
Fix the inadvertent libpq ABI breakage discovered by Martin Pitt: the
renumbering of encoding IDs done between 8.2 and 8.3 turns out to break 8.2
initdb and psql if they are run with an 8.3beta1 libpq.so. For the moment
we can rearrange the order of enum pg_enc to keep the same number for
everything except PG_JOHAB, which isn't a problem since there are no direct
references to it in the 8.2 programs anyway. (This does force initdb
unfortunately.)
Going forward, we want to fix things so that encoding IDs can be changed
without an ABI break, and this commit includes the changes needed to allow
libpq's encoding IDs to be treated as fully independent of the backend's.
The main issue is that libpq clients should not include pg_wchar.h or
otherwise assume they know the specific values of libpq's encoding IDs,
since they might encounter version skew between pg_wchar.h and the libpq.so
they are using. To fix, have libpq officially export functions needed for
encoding name<=>ID conversion and validity checking; it was doing this
anyway unofficially.
It's still the case that we can't renumber backend encoding IDs until the
next bump in libpq's major version number, since doing so will break the
8.2-era client programs. However the code is now prepared to avoid this
type of problem in future.
Note that initdb is no longer a libpq client: we just pull in the two
source files we need directly. The patch also fixes a few places that
were being sloppy about checking for an unrecognized encoding name.
Tom Lane [Sat, 13 Oct 2007 15:55:40 +0000 (15:55 +0000)]
Fix ALTER COLUMN TYPE to preserve the tablespace and reloptions of indexes
it affects. The original coding neglected tablespace entirely (causing
the indexes to move to the database's default tablespace) and for an index
belonging to a UNIQUE or PRIMARY KEY constraint, it would actually try to
assign the parent table's reloptions to the index :-(. Per bug #3672 and
subsequent investigation.
8.0 and 8.1 did not have reloptions, but the tablespace bug is present.
Bruce Momjian [Sat, 13 Oct 2007 03:37:12 +0000 (03:37 +0000)]
Attached some minor corrections, mainly completion of removal of
the "relation with OID ##### does not exist" item, and some URL
corrections.
Ian Barwick
Tom Lane [Sat, 13 Oct 2007 00:58:03 +0000 (00:58 +0000)]
Teach planagg.c that partial indexes specifying WHERE foo IS NOT NULL can be
used to perform MIN(foo) or MAX(foo), since we want to discard null rows in
the indexscan anyway. (This would probably fall out for free if we were
injecting the IS NOT NULL clause somewhere earlier, but given the current
anatomy of the MIN/MAX optimization code we have to do it explicitly.
Fortunately, very little added code is needed.) Per a discussion with
Henk de Wit.
Tom Lane [Fri, 12 Oct 2007 19:39:59 +0000 (19:39 +0000)]
When telling the bgwriter that we need a checkpoint because too much xlog
has been consumed, recheck against the latest value of RedoRecPtr before
really sending the signal. This avoids useless checkpoint activity if
XLogWrite is executed when we have a very stale local copy of RedoRecPtr.
The potential for useless checkpoint is very much worse in 8.3 because of
the walwriter process (which never does XLogInsert), so while this behavior
was intentional, it needs to be changed. Per report from Itagaki Takahiro.
Tom Lane [Fri, 12 Oct 2007 18:55:12 +0000 (18:55 +0000)]
Remove hack in pg_tablespace_aclmask() that disallowed permissions
on pg_global even to superusers, and replace it with checks in various
other places to complain about invalid uses of pg_global. This ends
up being a bit more code but it allows a more specific error message
to be given, and it un-breaks pg_tablespace_size() on pg_global.
Per discussion.
Tom Lane [Thu, 11 Oct 2007 21:27:49 +0000 (21:27 +0000)]
Ensure that the result of evaluating a function during constant-expression
simplification gets detoasted before it is incorporated into a Const node.
Otherwise, if an immutable function were to return a TOAST pointer (an
unlikely case, but it can be made to happen), we would end up with a plan
that depends on the continued existence of the out-of-line toast datum.
Bruce Momjian [Thu, 11 Oct 2007 20:35:56 +0000 (20:35 +0000)]
Add missing word.
Bruce Momjian [Thu, 11 Oct 2007 20:04:59 +0000 (20:04 +0000)]
Add missing word.
Tom Lane [Thu, 11 Oct 2007 19:54:17 +0000 (19:54 +0000)]
Code review for txid patch: add binary I/O functions, avoid dependence
on SerializableSnapshot, minor other cleanup. Marko Kreen, some further
editorialization by me.
Bruce Momjian [Thu, 11 Oct 2007 19:46:21 +0000 (19:46 +0000)]
Update release notes in "major" and "migration" sections. Still have
remainder of release notes to review.
Tom Lane [Thu, 11 Oct 2007 18:19:58 +0000 (18:19 +0000)]
Remove incorrect use of VARSIZE() on a toasted datum. We can just remove it
instead of fix it, since once we've set toast_action[i] to 'p' it no longer
matters what toast_sizes[i] is. Greg Stark
Tom Lane [Thu, 11 Oct 2007 18:05:27 +0000 (18:05 +0000)]
Fix the plan-invalidation mechanism to treat regclass constants that refer to
a relation as a reason to invalidate a plan when the relation changes. This
handles scenarios such as dropping/recreating a sequence that is referenced by
nextval('seq') in a cached plan. Rather than teach plancache.c all about
digging through plan trees to find regclass Consts, we charge the planner's
setrefs.c with making a list of the relation OIDs on which each plan depends.
That way the list can be built cheaply during a plan tree traversal that has
to happen anyway. Per bug #3662 and subsequent discussion.
Bruce Momjian [Thu, 11 Oct 2007 02:43:55 +0000 (02:43 +0000)]
Whitespace cleanup.
Neil Conway [Wed, 10 Oct 2007 21:48:22 +0000 (21:48 +0000)]
Minor correction for full-text search limitations docs.
Heikki Linnakangas.
Neil Conway [Wed, 10 Oct 2007 21:38:51 +0000 (21:38 +0000)]
Fix typo in REVOKE reference page. Guillaume Lelarge.
Bruce Momjian [Wed, 10 Oct 2007 14:09:49 +0000 (14:09 +0000)]
Back out release changes that weren't ready for commit.
Bruce Momjian [Wed, 10 Oct 2007 13:43:42 +0000 (13:43 +0000)]
Update Japanese FAQ.
Jun Kuwamura
Magnus Hagander [Wed, 10 Oct 2007 11:50:07 +0000 (11:50 +0000)]
Add missing codepage numbers for Windows.
Dave Page
Michael Meskes [Wed, 10 Oct 2007 06:33:17 +0000 (06:33 +0000)]
Synced parser and keyword list.
Bruce Momjian [Tue, 9 Oct 2007 20:13:11 +0000 (20:13 +0000)]
Add mention of full text indexing for word searches.
Bruce Momjian [Tue, 9 Oct 2007 20:08:04 +0000 (20:08 +0000)]
Remove FAQ item about temp tables in plpsql having invalid oid problems,
per suggestions from Pavel Stehule.
Bruce Momjian [Tue, 9 Oct 2007 19:55:36 +0000 (19:55 +0000)]
Update sequence FAQ items, per suggestion from Pavel Stehule.
Neil Conway [Tue, 9 Oct 2007 18:14:01 +0000 (18:14 +0000)]
Replace a reference to "start_log_collector" with "logging_collector",
per Guillaume Lelarge.
Magnus Hagander [Tue, 9 Oct 2007 15:03:27 +0000 (15:03 +0000)]
Don't try to free pgpassfile since it's a stack variable.
Martin Pitt
Bruce Momjian [Tue, 9 Oct 2007 03:21:00 +0000 (03:21 +0000)]
Update Brazilian FAQ.
Euler Taveira de Oliveira
Bruce Momjian [Tue, 9 Oct 2007 03:20:09 +0000 (03:20 +0000)]
Typo fix.
Euler Taveira de Oliveira
Bruce Momjian [Tue, 9 Oct 2007 02:56:44 +0000 (02:56 +0000)]
Add comment.
Bruce Momjian [Tue, 9 Oct 2007 02:31:40 +0000 (02:31 +0000)]
Add:
> * MONEY dumps in a locale-specific format making it difficult to
> restore to a system with a different locale
Bruce Momjian [Tue, 9 Oct 2007 01:28:24 +0000 (01:28 +0000)]
Clarify user of "postmaster" vs. "server" in FAQs.
Brendan Jurd
Tom Lane [Mon, 8 Oct 2007 22:07:16 +0000 (22:07 +0000)]
Faster test for overflow in str2txid, from Marko.
Tom Lane [Mon, 8 Oct 2007 20:25:40 +0000 (20:25 +0000)]
Get rid of dependency on strtoull() --- Marko Kreen.
Some additional minor editorializing by Tom.
Bruce Momjian [Mon, 8 Oct 2007 18:01:17 +0000 (18:01 +0000)]
Add:
> o Have ALTER SEQUENCE RENAME rename the sequence name stored
> in the sequence table
>
> http://archives.postgresql.org/pgsql-bugs/2007-09/msg00092.php
> http://archives.postgresql.org/pgsql-bugs/2007-10/msg00007.php
>
Jan Wieck [Sun, 7 Oct 2007 23:32:19 +0000 (23:32 +0000)]
Added the Skytools extended transaction ID module to contrib as discussed
on CORE previously.
This module offers transaction ID's containing the original XID and the
transaction epoch as a bigint value to the user level. It also provides
a special txid_snapshot data type that contains an entire transactions
visibility snapshot information, which is useful to determine if a
particular txid was visible to a transaction or not.
The module has been tested by porting Slony-I from using its original
xxid data type.
Jan
Alvaro Herrera [Sun, 7 Oct 2007 01:16:42 +0000 (01:16 +0000)]
A few improvements to analyze and vacuum sections in documentation: add "see
also" entries for autovacuum in analyze and vacuum reference pages, and
enhance usage of cross-references in the maintenance page.
Alvaro Herrera [Sun, 7 Oct 2007 01:13:30 +0000 (01:13 +0000)]
Change π to plain "pi" in index entry, to avoid double escaping issues.
Alvaro Herrera [Sun, 7 Oct 2007 00:32:11 +0000 (00:32 +0000)]
Clean up the doc makefile for draft HTML generation. It no longer works
to do "make DRAFT=Y html"; you need to use "make draft" (which was also
supported previously).
Alvaro Herrera [Sun, 7 Oct 2007 00:23:21 +0000 (00:23 +0000)]
Remove stylesheet.css file on "make clean", created only on VPATH builds.
Alvaro Herrera [Sat, 6 Oct 2007 17:45:49 +0000 (17:45 +0000)]
Fix missing parenthesis, per Guillaume Lelarge.
Tom Lane [Sat, 6 Oct 2007 16:18:09 +0000 (16:18 +0000)]
Make dumpcolors() have tolerable performance when using 32-bit chr,
as we do (and upstream Tcl doesn't). The loop limit might be subject
to negotiation if anyone ever tries to do regex debugging in Far
Eastern languages, but for now 1000 seems plenty. CHR_MAX was right out :-(
Tom Lane [Sat, 6 Oct 2007 16:05:54 +0000 (16:05 +0000)]
Adjust some regex debugging printouts to not give wrong-format-width
warnings on a 64-bit machine. Noted while chasing a recent regex
bug report.
Tom Lane [Sat, 6 Oct 2007 16:01:51 +0000 (16:01 +0000)]
Adjust regcustom.h so that all those assert() calls in the regex package
are converted to Postgres Assert() macros, instead of using <assert.h>
as formerly. No difference in production builds, but --enable-cassert
debug builds will get better coverage for regex testing.
Alvaro Herrera [Sat, 6 Oct 2007 15:50:43 +0000 (15:50 +0000)]
Fix SGML markup, from Guillaume Lelarge.
Bruce Momjian [Fri, 5 Oct 2007 18:40:52 +0000 (18:40 +0000)]
Add comment about cvs branch numbers.
Tom Lane [Fri, 5 Oct 2007 17:06:11 +0000 (17:06 +0000)]
Fix plperl and pltcl to include the name of the current function when
passing on errors from the language interpreter. (plpython seems
fairly OK about this already.) Per gripe from Robert Kleemann.
Bruce Momjian [Fri, 5 Oct 2007 16:42:32 +0000 (16:42 +0000)]
Add pgcvslog '-d' capability to allow stripping of commit messages that
have back branch activity. This will be useful for creating release
notes for major releases.
Tom Lane [Fri, 5 Oct 2007 04:03:41 +0000 (04:03 +0000)]
Remove some cross-references that don't seem to work in HISTORY
generation ... we should figure this out later ...
Marc G. Fournier [Fri, 5 Oct 2007 02:55:41 +0000 (02:55 +0000)]
tag it 8.3beta1 ... the beta cycle begins
Tom Lane [Fri, 5 Oct 2007 01:51:40 +0000 (01:51 +0000)]
Fix distprep and maintainer-clean targets so that ecpg's .def files are
made and removed at the correct times.
Tom Lane [Fri, 5 Oct 2007 01:35:55 +0000 (01:35 +0000)]
Add .cvsignore files to suppress CVS gripes about ecpg .def files.
Tom Lane [Thu, 4 Oct 2007 22:55:49 +0000 (22:55 +0000)]
Some desultory markup improvements in the new release notes.
Tom Lane [Thu, 4 Oct 2007 20:54:08 +0000 (20:54 +0000)]
Results from buildfarm show that ecpglib was depending on pg_strcasecmp,
which evidently it got as an unofficial export from pgtypeslib.
Tom Lane [Thu, 4 Oct 2007 20:44:47 +0000 (20:44 +0000)]
Keep the planner from failing on "WHERE false AND something IN (SELECT ...)".
eval_const_expressions simplifies this to just "WHERE false", but we have
already done pull_up_IN_clauses so the IN join will be done, or at least
planned, anyway. The trouble case comes when the sub-SELECT is itself a join
and we decide to implement the IN by unique-ifying the sub-SELECT outputs:
with no remaining reference to the output Vars in WHERE, we won't have
propagated the Vars up to the upper join point, leading to "variable not found
in subplan target lists" error. Fix by adding an extra scan of in_info_list
and forcing all Vars mentioned therein to be propagated up to the IN join
point. Per bug report from Miroslav Sulc.
Tom Lane [Thu, 4 Oct 2007 19:12:04 +0000 (19:12 +0000)]
Stamp 8.3beta1, except in configure.in/configure.
Tom Lane [Thu, 4 Oct 2007 19:06:59 +0000 (19:06 +0000)]
Update timezone data files to release 2007h of the zic database.
Might as well have the latest when we wrap 8.3beta1.
Tom Lane [Thu, 4 Oct 2007 18:32:07 +0000 (18:32 +0000)]
DLL_DEFFILE should be defined when PORTNAME is win32, not when it isn't,
per the example of libpq/Makefile.
Michael Meskes [Thu, 4 Oct 2007 17:49:31 +0000 (17:49 +0000)]
Replaced tabs by white spaces
Michael Meskes [Thu, 4 Oct 2007 16:29:33 +0000 (16:29 +0000)]
Removed newline at end of exports files.
Tom Lane [Thu, 4 Oct 2007 15:37:44 +0000 (15:37 +0000)]
Change Assert() to a plain test and elog, just to see if that works
around the icc bug exhibited by buildfarm member dugong.
Michael Meskes [Thu, 4 Oct 2007 07:58:15 +0000 (07:58 +0000)]
Added def-files to all: target so they are build everytime.
Neil Conway [Thu, 4 Oct 2007 07:53:07 +0000 (07:53 +0000)]
Two fixes for the release notes from Guillaume Smet. In passing, make
a minor markup improvement.
Neil Conway [Thu, 4 Oct 2007 03:53:58 +0000 (03:53 +0000)]
First pass at SGML-ifying the 8.3 release notes. Plenty of improvements
left to made, but this is a start.
Tom Lane [Wed, 3 Oct 2007 23:02:16 +0000 (23:02 +0000)]
Second pass at 8.3 release notes: put items in a bit more logical order
where possible, add overview and incompatibilities lists, minor cleanups.
The SGML-ification still leaves much to be desired.
Neil Conway [Wed, 3 Oct 2007 22:06:13 +0000 (22:06 +0000)]
Various minor improvements to the 8.3 release notes.
Tom Lane [Wed, 3 Oct 2007 17:16:39 +0000 (17:16 +0000)]
Teach chklocale.c how to extract encoding info from Windows locale
names. ITAGAKI Takahiro
Tom Lane [Wed, 3 Oct 2007 16:48:43 +0000 (16:48 +0000)]
Some editorial improvements for recently-added ALTER SEQUENCE/VIEW
documentation. Heikki and Tom
Tom Lane [Wed, 3 Oct 2007 16:03:25 +0000 (16:03 +0000)]
Suppress compiler warning in non-threaded build.
Tom Lane [Wed, 3 Oct 2007 15:59:13 +0000 (15:59 +0000)]
Tweak recently-added tests to suppress scary-looking warnings on 64-bit
machines about casts between pointers and integers of different sizes.
While they're harmless, we shouldn't expect users to have to go through
and figure that out for themselves.
Michael Meskes [Wed, 3 Oct 2007 15:24:19 +0000 (15:24 +0000)]
Argh, missing dll in filename
Tom Lane [Wed, 3 Oct 2007 15:12:45 +0000 (15:12 +0000)]
Minor improvements to hack for old OpenSSL libraries: avoid unused
variable warning on Windows, improve comment.
Tom Lane [Wed, 3 Oct 2007 15:04:23 +0000 (15:04 +0000)]
Fix command for fetching snprintf.c.
Michael Meskes [Wed, 3 Oct 2007 14:42:16 +0000 (14:42 +0000)]
This could be what's missing on some systems.
Michael Meskes [Wed, 3 Oct 2007 14:01:28 +0000 (14:01 +0000)]
Stripped two symbols that are needed.
Magnus Hagander [Wed, 3 Oct 2007 13:57:52 +0000 (13:57 +0000)]
Attempt to open certificate file "manually" using fopen before
trying BIO functions.
Helps problem with older versions of OpenSSL that lacks error
stack functions and would show an incorrect error message for
file-not-found-or-not-openable. The problem may still exist for
other errors, but file open error is by far the most common one.
Magnus Hagander [Wed, 3 Oct 2007 13:43:24 +0000 (13:43 +0000)]
Build two more .DEF files for ecpg instead of using default ones.
Michael Meskes [Wed, 3 Oct 2007 13:40:52 +0000 (13:40 +0000)]
Also build snprintf from pgport if needed.
Michael Meskes [Wed, 3 Oct 2007 13:24:54 +0000 (13:24 +0000)]
Remove exports.list in clean target.
Magnus Hagander [Wed, 3 Oct 2007 13:20:40 +0000 (13:20 +0000)]
More detailed error msg (with stack trace) if a file copy fails.
Michael Meskes [Wed, 3 Oct 2007 13:20:19 +0000 (13:20 +0000)]
Also created export list for pgytpeslib and compatlib.
Set pgtypes library version to 3.0.
Set compat library version to 3.0.
Magnus Hagander [Wed, 3 Oct 2007 12:34:29 +0000 (12:34 +0000)]
Use snprintf from libpgport in ecpg compatlib. Required since
we restricted exports from ecpglib.
Magnus Hagander [Wed, 3 Oct 2007 12:31:18 +0000 (12:31 +0000)]
Fix commandlines for final two ECPG regression tests
Magnus Hagander [Wed, 3 Oct 2007 12:11:37 +0000 (12:11 +0000)]
Fix typo
Magnus Hagander [Wed, 3 Oct 2007 12:11:00 +0000 (12:11 +0000)]
Build DEF file for libecpg instead of generating a default one.
Magnus Hagander [Wed, 3 Oct 2007 11:57:36 +0000 (11:57 +0000)]
Make ECPG regression tests run with -c only for array_of_struct.pgc
on MSVC.
Fix strange nonstandard version of __stdcall specifyer in thread
tests on win32.
Magnus Hagander [Wed, 3 Oct 2007 11:34:11 +0000 (11:34 +0000)]
Fix typo
Michael Meskes [Wed, 3 Oct 2007 11:11:12 +0000 (11:11 +0000)]
Cleaned up ecpglib and renamed functions that do not need to be exported.
Created export list for ecpglib.
Michael Meskes [Wed, 3 Oct 2007 08:55:23 +0000 (08:55 +0000)]
Hopefully fixed some stuff that causes Windows builds to fail.
Tom Lane [Wed, 3 Oct 2007 03:32:31 +0000 (03:32 +0000)]
First cut at 8.3 release notes. SGML markup is nonexistent, and
the 'overview' and 'incompatibilities' summary lists remain to be
written. But I think all the raw info is there (indeed maybe too
verbose).
Neil Conway [Tue, 2 Oct 2007 22:01:02 +0000 (22:01 +0000)]
Fix a compiler warning on Win32. Hannes Eder.
Magnus Hagander [Tue, 2 Oct 2007 19:01:45 +0000 (19:01 +0000)]
Default to thread safety on, and support more CPU options. Also
make sure that a CPU option is actually chosen.
Hiroshi Saito
Michael Meskes [Tue, 2 Oct 2007 14:01:57 +0000 (14:01 +0000)]
Made new test also work without threading enabled.
Michael Meskes [Tue, 2 Oct 2007 09:51:41 +0000 (09:51 +0000)]
No idea where this file came from.
Michael Meskes [Tue, 2 Oct 2007 09:50:00 +0000 (09:50 +0000)]
ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> added thread-safe
descriptor handling
Tom Lane [Tue, 2 Oct 2007 00:25:20 +0000 (00:25 +0000)]
Cope with ERR_set_mark() and ERR_pop_to_mark() not existing in older
OpenSSL libraries --- just don't call them if they're not there. This
might possibly lead to misleading error messages, but we'll just have
to live with that.
Tom Lane [Mon, 1 Oct 2007 21:10:40 +0000 (21:10 +0000)]
Add catalogs.sgml documentation for text search catalogs.
Magnus Hagander [Mon, 1 Oct 2007 20:30:06 +0000 (20:30 +0000)]
Use BIO functions to avoid passing FILE * pointers to OpenSSL functions.
This fixes potential crashes on old versions of OpenSSL and the requirement on
"Applink" in new versions when building with MSVC and using different
runtimes.
Dave Page with fixes from me.
D'Arcy J.M. Cain [Mon, 1 Oct 2007 19:06:48 +0000 (19:06 +0000)]
Add some examples.
Tom Lane [Mon, 1 Oct 2007 16:43:28 +0000 (16:43 +0000)]
Add note warning against use of pre-8.4 multithreaded Tcl.
Tom Lane [Mon, 1 Oct 2007 16:25:56 +0000 (16:25 +0000)]
Avoid assuming that struct varattrib_pointer doesn't get padded by the
compiler --- at least on ARM, it does. I suspect that the varvarlena patch
has been creating larger-than-intended toast pointers all along on ARM,
but it wasn't exposed until the latest tweak added some Asserts that
calculated the expected size in a different way. We could probably have
fixed this by adding __attribute__((packed)) as is done for ItemPointerData,
but struct varattrib_pointer isn't really all that useful anyway, so it
seems cleanest to just get rid of it and have only struct varattrib_1b_e.
Per results from buildfarm member quagga.
Magnus Hagander [Mon, 1 Oct 2007 14:32:02 +0000 (14:32 +0000)]
Build with /GS on 64-bit to work with modern Platform SDK.
Hiroshi Saito