Commit Graph

25717 Commits

Author SHA1 Message Date
Tom Lane
2ffc0e8849 Strengthen type_sanity's check on pg_type.typarray. It failed to
complain about types that didn't have typarray set.  Noted while
working on txid patch.
2007-10-13 22:33:38 +00:00
Tom Lane
ff1de5cef6 Guard against possible double free during error escape from XML
functions.  Patch for the reported issue from Kris Jurka, some
other potential trouble spots plugged by Tom.
2007-10-13 20:46:47 +00:00
Tom Lane
8468146b03 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.
2007-10-13 20:18:42 +00:00
Tom Lane
537e92e41f 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.
2007-10-13 15:55:40 +00:00
Bruce Momjian
bf673f2525 Attached some minor corrections, mainly completion of removal of
the  "relation with OID ##### does not exist" item, and some URL
corrections.

Ian Barwick
2007-10-13 03:37:12 +00:00
Tom Lane
106264ca3f 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.
2007-10-13 00:58:03 +00:00
Tom Lane
5c8eb929e6 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.
2007-10-12 19:39:59 +00:00
Tom Lane
6daef2bca4 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.
2007-10-12 18:55:12 +00:00
Tom Lane
2b0c86b665 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.
2007-10-11 21:27:49 +00:00
Bruce Momjian
05c609b3d4 Add missing word. 2007-10-11 20:35:56 +00:00
Bruce Momjian
70680211de Add missing word. 2007-10-11 20:04:59 +00:00
Tom Lane
d77717bae7 Code review for txid patch: add binary I/O functions, avoid dependence
on SerializableSnapshot, minor other cleanup.  Marko Kreen, some further
editorialization by me.
2007-10-11 19:54:17 +00:00
Bruce Momjian
1246fcd02a Update release notes in "major" and "migration" sections. Still have
remainder of release notes to review.
2007-10-11 19:46:21 +00:00
Tom Lane
56b7695cf5 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
2007-10-11 18:19:58 +00:00
Tom Lane
82d8ab6fc4 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.
2007-10-11 18:05:27 +00:00
Bruce Momjian
68b08b2512 Whitespace cleanup. 2007-10-11 02:43:55 +00:00
Neil Conway
f83a9303a6 Minor correction for full-text search limitations docs.
Heikki Linnakangas.
2007-10-10 21:48:22 +00:00
Neil Conway
8230895313 Fix typo in REVOKE reference page. Guillaume Lelarge. 2007-10-10 21:38:51 +00:00
Bruce Momjian
29eece51a8 Back out release changes that weren't ready for commit. 2007-10-10 14:09:49 +00:00
Bruce Momjian
688b3aac49 Update Japanese FAQ.
Jun Kuwamura
2007-10-10 13:43:42 +00:00
Magnus Hagander
fb074439ae Add missing codepage numbers for Windows.
Dave Page
2007-10-10 11:50:07 +00:00
Michael Meskes
ea82ad6aff Synced parser and keyword list. 2007-10-10 06:33:17 +00:00
Bruce Momjian
e1caa90406 Add mention of full text indexing for word searches. 2007-10-09 20:13:11 +00:00
Bruce Momjian
db962bb14d Remove FAQ item about temp tables in plpsql having invalid oid problems,
per suggestions from Pavel Stehule.
2007-10-09 20:08:04 +00:00
Bruce Momjian
cd2cf74584 Update sequence FAQ items, per suggestion from Pavel Stehule. 2007-10-09 19:55:36 +00:00
Neil Conway
81f285da7c Replace a reference to "start_log_collector" with "logging_collector",
per Guillaume Lelarge.
2007-10-09 18:14:01 +00:00
Magnus Hagander
20c38514b4 Don't try to free pgpassfile since it's a stack variable.
Martin Pitt
2007-10-09 15:03:27 +00:00
Bruce Momjian
535b07873d Update Brazilian FAQ.
Euler Taveira de Oliveira
2007-10-09 03:21:00 +00:00
Bruce Momjian
30b6622ecc Typo fix.
Euler Taveira de Oliveira
2007-10-09 03:20:09 +00:00
Bruce Momjian
fe385795a1 Add comment. 2007-10-09 02:56:44 +00:00
Bruce Momjian
f7c6cb0be8 Add:
> * MONEY dumps in a locale-specific format making it difficult to
>   restore to a system with a different locale
2007-10-09 02:31:40 +00:00
Bruce Momjian
d63790d726 Clarify user of "postmaster" vs. "server" in FAQs.
Brendan Jurd
2007-10-09 01:28:24 +00:00
Tom Lane
9f3bd2994c Faster test for overflow in str2txid, from Marko. 2007-10-08 22:07:16 +00:00
Tom Lane
b196b7fb72 Get rid of dependency on strtoull() --- Marko Kreen.
Some additional minor editorializing by Tom.
2007-10-08 20:25:40 +00:00
Bruce Momjian
7121cc9021 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
>
2007-10-08 18:01:17 +00:00
Jan Wieck
1f92630fc4 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
2007-10-07 23:32:19 +00:00
Alvaro Herrera
2a997a7065 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.
2007-10-07 01:16:42 +00:00
Alvaro Herrera
a3ff937359 Change &pi; to plain "pi" in index entry, to avoid double escaping issues. 2007-10-07 01:13:30 +00:00
Alvaro Herrera
2816b2cdd2 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).
2007-10-07 00:32:11 +00:00
Alvaro Herrera
4718358fe7 Remove stylesheet.css file on "make clean", created only on VPATH builds. 2007-10-07 00:23:21 +00:00
Alvaro Herrera
f5e2911144 Fix missing parenthesis, per Guillaume Lelarge. 2007-10-06 17:45:49 +00:00
Tom Lane
298c457520 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 :-(
2007-10-06 16:18:09 +00:00
Tom Lane
06ce02f989 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.
2007-10-06 16:05:54 +00:00
Tom Lane
c4db0d9ae1 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.
2007-10-06 16:01:51 +00:00
Alvaro Herrera
c880ed0afb Fix SGML markup, from Guillaume Lelarge. 2007-10-06 15:50:43 +00:00
Bruce Momjian
41f8f37474 Add comment about cvs branch numbers. 2007-10-05 18:40:52 +00:00
Tom Lane
9403598059 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.
2007-10-05 17:06:11 +00:00
Bruce Momjian
e77df38a0f 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.
2007-10-05 16:42:32 +00:00
Tom Lane
3a38ea2616 Remove some cross-references that don't seem to work in HISTORY
generation ... we should figure this out later ...
2007-10-05 04:03:41 +00:00
Marc G. Fournier
18cb6f7dd0 tag it 8.3beta1 ... the beta cycle begins 2007-10-05 02:55:41 +00:00