Commit Graph

24256 Commits

Author SHA1 Message Date
Bruce Momjian 3ec7ae1b67 Modify SGML makefile to allow 'gmake draft' to build draft html ('draft'
is now a target, no longer a modifier).
2007-01-27 22:44:32 +00:00
Tom Lane 6cefacd7c8 Correct an old logic error in btree page splitting: when considering a split
exactly at the point where we need to insert a new item, the calculation used
the wrong size for the "high key" of the new left page.  This could lead to
choosing an unworkable split, resulting in "PANIC: failed to add item to the
left sibling" (or "right sibling") failure.  Although this bug has been there
a long time, it's very difficult to trigger a failure before 8.2, since there
was generally a lot of free space on both sides of a chosen split.  In 8.2,
where the user-selected fill factor determines how much free space the code
tries to leave, an unworkable split is much more likely.  Report by Joe
Conway, diagnosis and fix by Heikki Linnakangas.
2007-01-27 20:53:30 +00:00
Michael Meskes 0fe1c36757 Fixed expected files, so they are in sync with tests again. 2007-01-27 18:33:22 +00:00
Andrew Dunstan ee57938c0b remove unnecessary and now inaccurate cast which I should have removed with other old code. 2007-01-27 16:46:21 +00:00
Peter Eisentraut 915abb346a Reactivate libxml memory management via palloc, now that I think I've
classified the conditions under which this is safe to do (see source
code comment).
2007-01-27 14:50:51 +00:00
Peter Eisentraut d3be7fae11 Add trailing zero byte in Unicode codepoint conversion. 2007-01-27 11:48:31 +00:00
Bruce Momjian abbf860f72 Add:
> * Enforce typmod for function inputs, function results and parameters for
>   spi_prepare'd statements called from PLs
>
>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg01403.php
2007-01-27 03:25:49 +00:00
Bruce Momjian ddf569e3ed Add:
> * Consider having the background writer update the transaction status
>   hint bits before writing out the page
2007-01-27 02:29:32 +00:00
Bruce Momjian f77b1f05f5 Add:
>
> * Consider increasing NUM_CLOG_BUFFERS
2007-01-27 02:28:16 +00:00
Andrew Dunstan 175a242187 Allow args to spi_prepare to be standard type aliaes as well as those known in pg_type. Fixes bug #2917. Add some regression tests for these cases. 2007-01-27 01:55:57 +00:00
Bruce Momjian 27552ce540 Update installation wording for an upgrade to state that dump/restore
should not be done, per Peter.
2007-01-27 01:27:36 +00:00
Bruce Momjian adef25e5ea Control openjade draft-mode by variable DRAFT, rather than whether the
version tag is 'devel'.
2007-01-26 23:51:39 +00:00
Bruce Momjian f0fc95612d Update wording of installation when upgrading, to more clearly
distinguish major vs minor release upgrades.
2007-01-26 22:52:50 +00:00
Bruce Momjian 320abc3a95 Modify draft SGML instructions to use DRAFT=Y because recursion was
causing html to be called twice --- no way to exit the makefile after
the recursion returns.
2007-01-26 22:23:50 +00:00
Tom Lane 4355d214c2 On Windows, use pgwin32_waitforsinglesocket() instead of select() to wait for
input in the stats collector.  Our select() emulation is apparently buggy
for UDP sockets :-(.  This should resolve problems with stats collection
(and hence autovacuum) failing under more than minimal load.  Diagnosis
and patch by Magnus Hagander.

Patch probably needs to be back-ported to 8.1 and 8.0, but first let's
see if it makes the buildfarm happy...
2007-01-26 20:06:52 +00:00
Neil Conway 8ff2bccee3 Squelch some VC++ compiler warnings. Mark float literals with the "f"
suffix, to distinguish them from doubles. Make some function declarations
and definitions use the "const" qualifier for arguments consistently.
Ignore warning 4102 ("unreferenced label"), because such warnings
are always emitted by bison-generated code. Patch from Magnus Hagander.
2007-01-26 17:45:42 +00:00
Bruce Momjian 8924c56820 Update BSD/OS platform for 8.2. 2007-01-25 23:34:28 +00:00
Bruce Momjian 2e6d1e5f7a Add URL for shrinking tuple to just its headers:
>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg01025.php
2007-01-25 22:25:53 +00:00
Bruce Momjian 70268b50dd Update Win32 exception comment. 2007-01-25 21:50:49 +00:00
Neil Conway 74b6f73bc2 Add a setlocal command to the beginning of build.bat. This is required
to deal with buildenv.bat properly, so that PATH (for example) doesn't
expand infintly. Per report from Joachim Wieland, patch from Magnus.
2007-01-25 19:48:33 +00:00
Michael Meskes a5a1506c96 Removed compiler warning due to unneeded unsigned declaration.
Removed regression test that triggers those libc precision bugs on some archs.
2007-01-25 16:45:25 +00:00
Bruce Momjian 167fa70a2e Update pg_dumpall -f option description. 2007-01-25 15:08:06 +00:00
Bruce Momjian c8bdd8ce88 Correction: temp_tablespaces was implemented by Albert Cervera Areny,
with cleanup by Jaime Casanova.
2007-01-25 15:05:15 +00:00
Bruce Momjian 0626a7d1b5 Reverse out use of Py_RETURN_TRUE in plpython, only supported in Python >=
2.3.
2007-01-25 14:52:23 +00:00
Peter Eisentraut 22bd156ff0 Various fixes in the logic of XML functions:
- Add new SQL command SET XML OPTION (also available via regular GUC) to
  control the DOCUMENT vs. CONTENT option in implicit parsing and
  serialization operations.

- Subtle corrections in the handling of the standalone property in
  xmlroot().

- Allow xmlroot() to work on content fragments.

- Subtle corrections in the handling of the version property in
  xmlconcat().

- Code refactoring for producing XML declarations.
2007-01-25 11:53:52 +00:00
Bruce Momjian 9597446d11 Done:
> 	o -Add a GUC variable to control the tablespace for temporary objects
2007-01-25 04:38:59 +00:00
Bruce Momjian 148ea5cbea Add GUC temp_tablespaces to provide a default location for temporary
objects.

Jaime Casanova
2007-01-25 04:35:11 +00:00
Bruce Momjian 5af6b2abe9 Properly detoast access to bytea field pg_trigger.tgargs. Old code
might cause server crash.

Backpatch to 8.2.X.
2007-01-25 04:17:46 +00:00
Bruce Momjian 251281767a Fix for plpython functions; return true/false for boolean,
rather than 1/0.  This helps when creating trigger functions that output
SQL.

Guido Goldstein
2007-01-25 04:08:51 +00:00
Bruce Momjian 6441288ec9 Add 'output file' option for pg_dumpall, especially useful for Win32,
where output redirection of child processes (pg_dump) doesn't work.

Dave Page
2007-01-25 03:30:43 +00:00
Bruce Momjian 1b7d863f1d Remove developers list from TODO list now that we have URLs to reference
discussions.

<
<
< ---------------------------------------------------------------------------
<
<
< Developers who have claimed items are:
< --------------------------------------
< * Alvaro is Alvaro Herrera <alvherre@dcc.uchile.cl>
< * Andrew is Andrew Dunstan <andrew@dunslane.net>
< * Bruce is Bruce Momjian <bruce@momjian.us> of EnterpriseDB
< * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au> of
<     Family Health Network
< * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net> of The Cain Gang Ltd.
< * David is David Fetter <david@fetter.org>
< * Fabien is Fabien Coelho <coelho@cri.ensmp.fr>
< * Gavin is Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
< * Greg is Greg Sabino Mullane <greg@turnstep.com>
< * Jan is Jan Wieck <JanWieck@Yahoo.com> of Afilias, Inc.
< * Joe is Joe Conway <mail@joeconway.com>
< * Karel is Karel Zak <zakkr@zf.jcu.cz>
< * Magnus is Magnus Hagander <mha@sollentuna.net>
< * Marc is Marc Fournier <scrappy@hub.org> of PostgreSQL, Inc.
< * Matthew T. O'Connor <matthew@zeut.net>
< * Michael is Michael Meskes <meskes@postgresql.org> of Credativ
< * Neil is Neil Conway <neilc@samurai.com>
< * Oleg is Oleg Bartunov <oleg@sai.msu.su>
< * Pavel is Pavel Stehule <pavel.stehule@hotmail.com>
< * Peter is Peter Eisentraut <peter_e@gmx.net>
< * Philip is Philip Warner <pjw@rhyme.com.au> of Albatross Consulting Pty. Ltd.
< * Rod is Rod Taylor <pg@rbt.ca>
< * Simon is Simon Riggs <simon@2ndquadrant.com>
< * Stephan is Stephan Szabo <sszabo@megazone23.bigpanda.com>
< * Tatsuo is Tatsuo Ishii <ishii@sraoss.co.jp> of SRA OSS, Inc. Japan
< * Teodor is Teodor Sigaev <teodor@sigaev.ru>
< * Tom is Tom Lane <tgl@sss.pgh.pa.us> of Red Hat
2007-01-25 02:50:12 +00:00
Bruce Momjian 7aa09c5df5 Done:
< 	o Add -f to pg_dumpall
> 	o -Add -f to pg_dumpall
2007-01-25 02:48:06 +00:00
Bruce Momjian d37881fd90 Allow pg_dumpall to specify a database name rather than the default
'template1'.

Dave Page
2007-01-25 02:46:33 +00:00
Bruce Momjian 5ce94b28cc Add --tablespaces-only and --roles-only options to pg_dumpall.
Dave Page
2007-01-25 02:30:32 +00:00
Bruce Momjian ef65f6f7a4 Prevent WAL logging when COPY is done in the same transation that
created it.

Simon Riggs
2007-01-25 02:17:26 +00:00
Bruce Momjian 693c85d954 When using MSVC, disable the building of ecpg if pthreads is not
specified.

Magnus Hagander
2007-01-24 19:24:28 +00:00
Tom Lane 0887fa1117 Get pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the same
page about the maximum UTF8 sequence length we support (4 bytes since 8.1,
3 before that).  pg_utf2wchar_with_len never got updated to support 4-byte
characters at all, and in any case had a buffer-overrun risk in that it
could produce multiple pg_wchars from what mblen claims to be just one UTF8
character.  The only reason we don't have a major security hole is that most
callers allocate worst-case output buffers; the sole exception in released
versions appears to be pre-8.2 iwchareq() (ie, ILIKE), which can be crashed
due to zeroing out its return address --- but AFAICS that can't be exploited
for anything more than a crash, due to inability to control what gets written
there.  Per report from James Russell and Michael Fuhr.

Pre-8.1 the risk is much less, but I still think pg_utf2wchar_with_len's
behavior given an incomplete final character risks buffer overrun, so
back-patch that logic change anyway.

This patch also makes sure that UTF8 sequences exceeding the supported
length (whichever it is) are consistently treated as error cases, rather
than being treated like a valid shorter sequence in some places.
2007-01-24 17:12:17 +00:00
Tom Lane 07cf99ac6f Relax an Assert() that has been found to be too strict in some situations
involving unions of types having typmods.  Variants of the failure are known
to occur in 8.1 and up; not sure if it's possible in 8.0 and 7.4, but since
the code exists that far back, I'll just patch 'em all.  Per report from
Brian Hurt.
2007-01-24 01:25:47 +00:00
Peter Eisentraut 4e8b5cd94b Simplify handling of XML error messages: Just use the string provided by
libxml as the detail message.

As per <http://archives.postgresql.org/pgsql-hackers/2006-12/msg01087.php>.

For converting error codes to messages, we only need to cover those codes
that we raise ourselves now.
2007-01-23 23:39:16 +00:00
Tom Lane a56c5fb0f5 Update xindex.sgml to discuss operator families. 2007-01-23 20:45:28 +00:00
Tom Lane 379958128c Update pg_dump to support dumping operator families. 2007-01-23 17:54:50 +00:00
Bruce Momjian 867c133599 Add comment about exception lists in both winnt.h and ntstatus.h. 2007-01-23 16:21:17 +00:00
Alvaro Herrera e25138f3e9 This patch is required for vcbuild to work after the changes to
pg_proc.h (it's the same changes that's in gen_fmgrtab.sh in the unix
build).

Patch from Magnus Hagander.
2007-01-23 15:44:11 +00:00
Tom Lane a33cf1041f Add CREATE/ALTER/DROP OPERATOR FAMILY commands, also COMMENT ON OPERATOR
FAMILY; and add FAMILY option to CREATE OPERATOR CLASS to allow adding a
class to a pre-existing family.  Per previous discussion.  Man, what a
tedious lot of cutting and pasting ...
2007-01-23 05:07:18 +00:00
Bruce Momjian 8502b68513 Remove newline from error message because URL is gone. 2007-01-23 03:31:33 +00:00
Bruce Momjian 882b9948d7 Back out use of FormatMessage(), does error values, not exception
values.  Point to /include/ntstatus.h for an exception list, rather than
a URL.
2007-01-23 03:28:49 +00:00
Bruce Momjian 610f60a092 Print meaningfull error text for abonormal process exit on Win32, rather
than hex codes, using FormatMessage().
2007-01-23 01:45:11 +00:00
Bruce Momjian b97b86649a Update my email address in FAQ. 2007-01-22 23:06:37 +00:00
Tom Lane 4f06c688c7 Put back planner's ability to cache the results of mergejoinscansel(),
which I had removed in the first cut of the EquivalenceClass rewrite to
simplify that patch a little.  But it's still important --- in a four-way
join problem mergejoinscansel() was eating about 40% of the planning time
according to gprof.  Also, improve the EquivalenceClass code to re-use
join RestrictInfos rather than generating fresh ones for each join
considered.  This saves some memory space but more importantly improves
the effectiveness of caching planning info in RestrictInfos.
2007-01-22 20:00:40 +00:00
Bruce Momjian 45e0736938 Use errhint() for WIN32 SIGTERM message, where possible. 2007-01-22 19:38:05 +00:00