OSDN Git Service

pg-rex/syncrep.git
17 years agoAdd URL:
Bruce Momjian [Wed, 31 Jan 2007 04:23:47 +0000 (04:23 +0000)]
Add URL:

      o Fix RENAME to work on variables other than OLD/NEW
>
>    http://archives.postgresql.org/pgsql-hackers/2002-03/msg00591.php
>

17 years agoDocument need for periodic REINDEX in VACUUM FULL cases.
Bruce Momjian [Wed, 31 Jan 2007 04:13:22 +0000 (04:13 +0000)]
Document need for periodic REINDEX in VACUUM FULL cases.

17 years agoAdd missing colon.
Bruce Momjian [Wed, 31 Jan 2007 04:12:01 +0000 (04:12 +0000)]
Add missing colon.

17 years agoAdd:
Bruce Momjian [Wed, 31 Jan 2007 03:17:49 +0000 (03:17 +0000)]
Add:

>
> * Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY
>
>   This is difficult because you must upgrade to an exclusive table lock
>   to replace the existing index file.  CREATE INDEX CONCURRENTLY does not
>   have this complication.  This would allow index compaction without
>   downtime.

17 years agoUpdate for VACUUM FULL:
Bruce Momjian [Wed, 31 Jan 2007 03:07:36 +0000 (03:07 +0000)]
Update for VACUUM FULL:

<   reindex rather than update the index.
>   reindex rather than update the index.  Also, index updates can
>   bloat the index.

17 years agoAdd:
Bruce Momjian [Tue, 30 Jan 2007 22:55:12 +0000 (22:55 +0000)]
Add:
>  o ARRAY[[1,2],[3,4]])[1] should return the same values as
>    ARRAY[[1,2],[3,4]])[1:1];
>

17 years agoAdd FAQ item about timezones and daylight savings time.
Bruce Momjian [Tue, 30 Jan 2007 22:37:15 +0000 (22:37 +0000)]
Add FAQ item about timezones and daylight savings time.

17 years agoUpdate documentation for backslashes to mention escape string syntax
Bruce Momjian [Tue, 30 Jan 2007 22:29:23 +0000 (22:29 +0000)]
Update documentation for backslashes to mention escape string syntax
more, and standard_conforming_strings less, because in the future non-E
strings will not treat backslashes specially.

Also use E'' strings where backslashes are used in examples. (The
existing examples would have drawn warnings.)

Backpatch to 8.2.X.

17 years agoRepair oversights in the mechanism used to store compiled plpgsql functions.
Tom Lane [Tue, 30 Jan 2007 22:05:13 +0000 (22:05 +0000)]
Repair oversights in the mechanism used to store compiled plpgsql functions.
The original coding failed (tried to access deallocated memory) if there were
two active call sites (fn_extra pointers) for the same function and the
function definition was updated.  Also, if an update of a recursive function
was detected upon nested entry to the function, the existing compiled version
was summarily deallocated, resulting in crash upon return to the outer
instance.  Problem observed while studying a bug report from Sergiy
Vyshnevetskiy.

Bug does not exist before 8.1 since older versions just leaked the memory of
obsoleted compiled functions, rather than trying to reclaim it.

17 years agoAdd SPI_push/SPI_pop calls so that datatype input and output functions called
Tom Lane [Tue, 30 Jan 2007 18:02:22 +0000 (18:02 +0000)]
Add SPI_push/SPI_pop calls so that datatype input and output functions called
by plpgsql can themselves use SPI --- possibly indirectly, as in the case
of domain_in() invoking plpgsql functions in a domain check constraint.
Per bug #2945 from Sergiy Vyshnevetskiy.

Somewhat arbitrarily, I've chosen to back-patch this as far as 8.0.  Given
the lack of prior complaints, it doesn't seem critical for 7.x.

17 years agoUpdate documentation for pg_get_serial_sequence() function.
Bruce Momjian [Tue, 30 Jan 2007 02:39:27 +0000 (02:39 +0000)]
Update documentation for pg_get_serial_sequence() function.

17 years agoAdd support for cross-type hashing in hash index searches and hash joins.
Tom Lane [Tue, 30 Jan 2007 01:33:36 +0000 (01:33 +0000)]
Add support for cross-type hashing in hash index searches and hash joins.
Hashing for aggregation purposes still needs work, so it's not time to
mark any cross-type operators as hashable for general use, but these cases
work if the operators are so marked by hand in the system catalogs.

17 years agoAdd comment noting that hashm_procid in a hash index's metapage isn't
Tom Lane [Mon, 29 Jan 2007 23:22:59 +0000 (23:22 +0000)]
Add comment noting that hashm_procid in a hash index's metapage isn't
actually used for anything.

17 years agoUpdate wording for minor release upgrades, per Alvaro.
Bruce Momjian [Mon, 29 Jan 2007 21:49:17 +0000 (21:49 +0000)]
Update wording for minor release upgrades, per Alvaro.

17 years agoDone:
Bruce Momjian [Mon, 29 Jan 2007 21:19:30 +0000 (21:19 +0000)]
Done:

< * Add Globally/Universally Unique Identifier (GUID/UUID)
> * -Add Globally/Universally Unique Identifier (GUID/UUID)

17 years agoUse sizeof() for snprintf() buffer length.
Bruce Momjian [Mon, 29 Jan 2007 20:22:35 +0000 (20:22 +0000)]
Use sizeof() for snprintf() buffer length.

17 years agoUpdate process termination message to display signal number and name
Bruce Momjian [Mon, 29 Jan 2007 20:17:40 +0000 (20:17 +0000)]
Update process termination message to display signal number and name
from exec.c and postmaster.c.

17 years agoUpdate documentation on XML functions
Peter Eisentraut [Mon, 29 Jan 2007 13:24:30 +0000 (13:24 +0000)]
Update documentation on XML functions

17 years agoImprove hash join to discard input tuples immediately if they can't
Tom Lane [Sun, 28 Jan 2007 23:21:26 +0000 (23:21 +0000)]
Improve hash join to discard input tuples immediately if they can't
match because they contain a null join key (and the join operator is
known strict).  Improves performance significantly when the inner
relation contains a lot of nulls, as per bug #2930.

17 years agoRemove unnecessary checkpoint from PL regression tests. This was once
Tom Lane [Sun, 28 Jan 2007 21:17:32 +0000 (21:17 +0000)]
Remove unnecessary checkpoint from PL regression tests.  This was once
handy to prevent core dump files from disappearing, but it's useless now
because (a) we don't drop core in individual DB subdirectories anymore,
and (b) CREATE DATABASE forces an internal checkpoint anyway.

17 years agoRename the uuid_t type to pg_uuid_t, to avoid a conflict with any
Neil Conway [Sun, 28 Jan 2007 20:25:38 +0000 (20:25 +0000)]
Rename the uuid_t type to pg_uuid_t, to avoid a conflict with any
definitions of uuid_t that may be provided by the system headers. This
should hopefully fix the Win32 build problems reported by Magnus.

17 years agoFix plpython MSVC build in non-debug mode.
Andrew Dunstan [Sun, 28 Jan 2007 19:36:46 +0000 (19:36 +0000)]
Fix plpython MSVC build in non-debug mode.

17 years agoRemove some unnecessary conversion work in build_regtype_array().
Tom Lane [Sun, 28 Jan 2007 19:05:35 +0000 (19:05 +0000)]
Remove some unnecessary conversion work in build_regtype_array().

17 years agoRepair oversight in creation of "append relations": we should set up
Tom Lane [Sun, 28 Jan 2007 18:50:40 +0000 (18:50 +0000)]
Repair oversight in creation of "append relations": we should set up
rel->tuples as well as rel->rows, since some estimation functions expect both
to be valid in every baserel.  Per report from Dave Dutcher.

17 years agoMake some small improvements in the accuracy of plpgsql's error location
Tom Lane [Sun, 28 Jan 2007 17:58:13 +0000 (17:58 +0000)]
Make some small improvements in the accuracy of plpgsql's error location
reports; inspired by the misleading CONTEXT lines shown in recent bug report
from Stefan Kaltenbrunner.  Also, allow statement-type names shown in these
messages to be translated.

17 years agoFix path problem in MSVC bison wrapper. per Joachim Wieland.
Andrew Dunstan [Sun, 28 Jan 2007 16:29:37 +0000 (16:29 +0000)]
Fix path problem in MSVC bison wrapper. per Joachim Wieland.

17 years agoAdd a new builtin type, "uuid". This implements a UUID type, similar to
Neil Conway [Sun, 28 Jan 2007 16:16:54 +0000 (16:16 +0000)]
Add a new builtin type, "uuid". This implements a UUID type, similar to
that defined in RFC 4122. This patch includes the basic implementation,
plus regression tests. Documentation and perhaps some additional
functionality will come later. Catversion bumped.

Patch from Gevik Babakhani; review from Peter, Tom, and myself.

17 years agoFix up plpgsql's "simple expression" evaluation mechanism so that it behaves
Tom Lane [Sun, 28 Jan 2007 16:15:49 +0000 (16:15 +0000)]
Fix up plpgsql's "simple expression" evaluation mechanism so that it behaves
safely in the presence of subtransactions.  To ensure that any ExprContext
shutdown callbacks are called at the right times, we have to have a separate
EState for each level of subtransaction.  Per "TupleDesc reference leak" bug
report from Stefan Kaltenbrunner.

Although I'm convinced the code is wrong as far back as 8.0, it doesn't seem
that there are any ways for the problem to really manifest before 8.2: AFAICS,
8.0 and 8.1 only use the ExprContextCallback mechanism to handle set-returning
functions, which cannot usefully be executed in a "simple expression" anyway.
Hence, no backpatch before 8.2 --- the risk of unforeseen breakage seems
to outweigh the chance of fixing something.

17 years agoDrat, can't fit an additional argument into log_error. Is it worth an
Tom Lane [Sun, 28 Jan 2007 07:29:32 +0000 (07:29 +0000)]
Drat, can't fit an additional argument into log_error.  Is it worth an
sprintf pushup to be sure we can report something useful for out-of-range
exitstatus?

17 years agoClean up broken usage of HAVE_DECL_SYS_SIGLIST and inconsistent/poorly
Tom Lane [Sun, 28 Jan 2007 06:32:03 +0000 (06:32 +0000)]
Clean up broken usage of HAVE_DECL_SYS_SIGLIST and inconsistent/poorly
formatted error messages.

17 years agoUse autoconf build-in sys_siglist macro AC_DECL_SYS_SIGLIST, rather than
Bruce Momjian [Sun, 28 Jan 2007 03:50:34 +0000 (03:50 +0000)]
Use autoconf build-in sys_siglist macro AC_DECL_SYS_SIGLIST, rather than
create our own.

17 years agoAdd a delay at the start of the stats test, to let any prior stats
Tom Lane [Sun, 28 Jan 2007 03:02:31 +0000 (03:02 +0000)]
Add a delay at the start of the stats test, to let any prior stats
activity quiesce.  Possibly this will fix the large increase in
non-reproducible stats test failures we've noted since turning on
stats_row_level by default.

17 years agoDept of second thoughts: the IQ of estimate_array_length() needs to be
Tom Lane [Sun, 28 Jan 2007 02:53:34 +0000 (02:53 +0000)]
Dept of second thoughts: the IQ of estimate_array_length() needs to be
kept on par with that of scalararraysel(), else estimates that should
track might not.  Hence teach it about binary-compatible cases, too.

17 years agoAdd signal.h for sys_siglist reference.
Bruce Momjian [Sun, 28 Jan 2007 02:33:09 +0000 (02:33 +0000)]
Add signal.h for sys_siglist reference.

17 years agoFix scalararraysel() to cope with binary-compatible cases, such as text[]
Tom Lane [Sun, 28 Jan 2007 01:37:38 +0000 (01:37 +0000)]
Fix scalararraysel() to cope with binary-compatible cases, such as text[]
versus varchar[].  This oversight probably explains Ryan Holmes' recent
complaint --- he was getting a generic selectivity estimate instead of
anything intelligent.

17 years agoUse sys_siglist[] to print out signal names for signal exits, rather
Bruce Momjian [Sun, 28 Jan 2007 01:12:05 +0000 (01:12 +0000)]
Use sys_siglist[] to print out signal names for signal exits, rather
than just numbers.

17 years agoModify SGML makefile to allow 'gmake draft' to build draft html ('draft'
Bruce Momjian [Sat, 27 Jan 2007 22:44:32 +0000 (22:44 +0000)]
Modify SGML makefile to allow 'gmake draft' to build draft html ('draft'
is now a target, no longer a modifier).

17 years agoCorrect an old logic error in btree page splitting: when considering a split
Tom Lane [Sat, 27 Jan 2007 20:53:30 +0000 (20:53 +0000)]
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.

17 years agoFixed expected files, so they are in sync with tests again.
Michael Meskes [Sat, 27 Jan 2007 18:33:22 +0000 (18:33 +0000)]
Fixed expected files, so they are in sync with tests again.

17 years agoremove unnecessary and now inaccurate cast which I should have removed with other...
Andrew Dunstan [Sat, 27 Jan 2007 16:46:21 +0000 (16:46 +0000)]
remove unnecessary and now inaccurate cast which I should have removed with other old code.

17 years agoReactivate libxml memory management via palloc, now that I think I've
Peter Eisentraut [Sat, 27 Jan 2007 14:50:51 +0000 (14:50 +0000)]
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).

17 years agoAdd trailing zero byte in Unicode codepoint conversion.
Peter Eisentraut [Sat, 27 Jan 2007 11:48:31 +0000 (11:48 +0000)]
Add trailing zero byte in Unicode codepoint conversion.

17 years agoAdd:
Bruce Momjian [Sat, 27 Jan 2007 03:25:49 +0000 (03:25 +0000)]
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

17 years agoAdd:
Bruce Momjian [Sat, 27 Jan 2007 02:29:32 +0000 (02:29 +0000)]
Add:

> * Consider having the background writer update the transaction status
>   hint bits before writing out the page

17 years agoAdd:
Bruce Momjian [Sat, 27 Jan 2007 02:28:16 +0000 (02:28 +0000)]
Add:

>
> * Consider increasing NUM_CLOG_BUFFERS

17 years agoAllow args to spi_prepare to be standard type aliaes as well as those known in pg_typ...
Andrew Dunstan [Sat, 27 Jan 2007 01:55:57 +0000 (01:55 +0000)]
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.

17 years agoUpdate installation wording for an upgrade to state that dump/restore
Bruce Momjian [Sat, 27 Jan 2007 01:27:36 +0000 (01:27 +0000)]
Update installation wording for an upgrade to state that dump/restore
should not be done, per Peter.

17 years agoControl openjade draft-mode by variable DRAFT, rather than whether the
Bruce Momjian [Fri, 26 Jan 2007 23:51:39 +0000 (23:51 +0000)]
Control openjade draft-mode by variable DRAFT, rather than whether the
version tag is 'devel'.

17 years agoUpdate wording of installation when upgrading, to more clearly
Bruce Momjian [Fri, 26 Jan 2007 22:52:50 +0000 (22:52 +0000)]
Update wording of installation when upgrading, to more clearly
distinguish major vs minor release upgrades.

17 years agoModify draft SGML instructions to use DRAFT=Y because recursion was
Bruce Momjian [Fri, 26 Jan 2007 22:23:50 +0000 (22:23 +0000)]
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.

17 years agoOn Windows, use pgwin32_waitforsinglesocket() instead of select() to wait for
Tom Lane [Fri, 26 Jan 2007 20:06:52 +0000 (20:06 +0000)]
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...

17 years agoSquelch some VC++ compiler warnings. Mark float literals with the "f"
Neil Conway [Fri, 26 Jan 2007 17:45:42 +0000 (17:45 +0000)]
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.

17 years agoUpdate BSD/OS platform for 8.2.
Bruce Momjian [Thu, 25 Jan 2007 23:34:28 +0000 (23:34 +0000)]
Update BSD/OS platform for 8.2.

17 years agoAdd URL for shrinking tuple to just its headers:
Bruce Momjian [Thu, 25 Jan 2007 22:25:53 +0000 (22:25 +0000)]
Add URL for shrinking tuple to just its headers:

>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg01025.php

17 years agoUpdate Win32 exception comment.
Bruce Momjian [Thu, 25 Jan 2007 21:50:49 +0000 (21:50 +0000)]
Update Win32 exception comment.

17 years agoAdd a setlocal command to the beginning of build.bat. This is required
Neil Conway [Thu, 25 Jan 2007 19:48:33 +0000 (19:48 +0000)]
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.

17 years agoRemoved compiler warning due to unneeded unsigned declaration.
Michael Meskes [Thu, 25 Jan 2007 16:45:25 +0000 (16:45 +0000)]
Removed compiler warning due to unneeded unsigned declaration.
Removed regression test that triggers those libc precision bugs on some archs.

17 years agoUpdate pg_dumpall -f option description.
Bruce Momjian [Thu, 25 Jan 2007 15:08:06 +0000 (15:08 +0000)]
Update pg_dumpall -f option description.

17 years agoCorrection: temp_tablespaces was implemented by Albert Cervera Areny,
Bruce Momjian [Thu, 25 Jan 2007 15:05:15 +0000 (15:05 +0000)]
Correction:  temp_tablespaces was implemented by Albert Cervera Areny,
with cleanup by Jaime Casanova.

17 years agoReverse out use of Py_RETURN_TRUE in plpython, only supported in Python >=
Bruce Momjian [Thu, 25 Jan 2007 14:52:23 +0000 (14:52 +0000)]
Reverse out use of Py_RETURN_TRUE in plpython, only supported in Python >=
2.3.

17 years agoVarious fixes in the logic of XML functions:
Peter Eisentraut [Thu, 25 Jan 2007 11:53:52 +0000 (11:53 +0000)]
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.

17 years agoDone:
Bruce Momjian [Thu, 25 Jan 2007 04:38:59 +0000 (04:38 +0000)]
Done:

>  o -Add a GUC variable to control the tablespace for temporary objects

17 years agoAdd GUC temp_tablespaces to provide a default location for temporary
Bruce Momjian [Thu, 25 Jan 2007 04:35:11 +0000 (04:35 +0000)]
Add GUC temp_tablespaces to provide a default location for temporary
objects.

Jaime Casanova

17 years agoProperly detoast access to bytea field pg_trigger.tgargs. Old code
Bruce Momjian [Thu, 25 Jan 2007 04:17:46 +0000 (04:17 +0000)]
Properly detoast access to bytea field pg_trigger.tgargs.  Old code
might cause server crash.

Backpatch to 8.2.X.

17 years agoFix for plpython functions; return true/false for boolean,
Bruce Momjian [Thu, 25 Jan 2007 04:08:51 +0000 (04:08 +0000)]
Fix for plpython functions;  return true/false for boolean,
rather than 1/0.  This helps when creating trigger functions that output
SQL.

Guido Goldstein

17 years agoAdd 'output file' option for pg_dumpall, especially useful for Win32,
Bruce Momjian [Thu, 25 Jan 2007 03:30:43 +0000 (03:30 +0000)]
Add 'output file' option for pg_dumpall, especially useful for Win32,
where output redirection of child processes (pg_dump) doesn't work.

Dave Page

17 years agoRemove developers list from TODO list now that we have URLs to reference
Bruce Momjian [Thu, 25 Jan 2007 02:50:12 +0000 (02:50 +0000)]
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

17 years agoDone:
Bruce Momjian [Thu, 25 Jan 2007 02:48:06 +0000 (02:48 +0000)]
Done:

<  o Add -f to pg_dumpall
>  o -Add -f to pg_dumpall

17 years agoAllow pg_dumpall to specify a database name rather than the default
Bruce Momjian [Thu, 25 Jan 2007 02:46:33 +0000 (02:46 +0000)]
Allow pg_dumpall to specify a database name rather than the default
'template1'.

Dave Page

17 years agoAdd --tablespaces-only and --roles-only options to pg_dumpall.
Bruce Momjian [Thu, 25 Jan 2007 02:30:32 +0000 (02:30 +0000)]
Add --tablespaces-only and --roles-only options to pg_dumpall.

Dave Page

17 years agoPrevent WAL logging when COPY is done in the same transation that
Bruce Momjian [Thu, 25 Jan 2007 02:17:26 +0000 (02:17 +0000)]
Prevent WAL logging when COPY is done in the same transation that
created it.

Simon Riggs

17 years agoWhen using MSVC, disable the building of ecpg if pthreads is not
Bruce Momjian [Wed, 24 Jan 2007 19:24:28 +0000 (19:24 +0000)]
When using MSVC, disable the building of ecpg if pthreads is not
specified.

Magnus Hagander

17 years agoGet pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the same
Tom Lane [Wed, 24 Jan 2007 17:12:17 +0000 (17:12 +0000)]
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.

17 years agoRelax an Assert() that has been found to be too strict in some situations
Tom Lane [Wed, 24 Jan 2007 01:25:47 +0000 (01:25 +0000)]
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.

17 years agoSimplify handling of XML error messages: Just use the string provided by
Peter Eisentraut [Tue, 23 Jan 2007 23:39:16 +0000 (23:39 +0000)]
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.

17 years agoUpdate xindex.sgml to discuss operator families.
Tom Lane [Tue, 23 Jan 2007 20:45:28 +0000 (20:45 +0000)]
Update xindex.sgml to discuss operator families.

17 years agoUpdate pg_dump to support dumping operator families.
Tom Lane [Tue, 23 Jan 2007 17:54:50 +0000 (17:54 +0000)]
Update pg_dump to support dumping operator families.

17 years agoAdd comment about exception lists in both winnt.h and ntstatus.h.
Bruce Momjian [Tue, 23 Jan 2007 16:21:17 +0000 (16:21 +0000)]
Add comment about exception lists in both winnt.h and ntstatus.h.

17 years agoThis patch is required for vcbuild to work after the changes to
Alvaro Herrera [Tue, 23 Jan 2007 15:44:11 +0000 (15:44 +0000)]
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.

17 years agoAdd CREATE/ALTER/DROP OPERATOR FAMILY commands, also COMMENT ON OPERATOR
Tom Lane [Tue, 23 Jan 2007 05:07:18 +0000 (05:07 +0000)]
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 ...

17 years agoRemove newline from error message because URL is gone.
Bruce Momjian [Tue, 23 Jan 2007 03:31:33 +0000 (03:31 +0000)]
Remove newline from error message because URL is gone.

17 years agoBack out use of FormatMessage(), does error values, not exception
Bruce Momjian [Tue, 23 Jan 2007 03:28:49 +0000 (03:28 +0000)]
Back out use of FormatMessage(), does error values, not exception
values.  Point to /include/ntstatus.h for an exception list, rather than
a URL.

17 years agoPrint meaningfull error text for abonormal process exit on Win32, rather
Bruce Momjian [Tue, 23 Jan 2007 01:45:11 +0000 (01:45 +0000)]
Print meaningfull error text for abonormal process exit on Win32, rather
than hex codes, using FormatMessage().

17 years agoUpdate my email address in FAQ.
Bruce Momjian [Mon, 22 Jan 2007 23:06:37 +0000 (23:06 +0000)]
Update my email address in FAQ.

17 years agoPut back planner's ability to cache the results of mergejoinscansel(),
Tom Lane [Mon, 22 Jan 2007 20:00:40 +0000 (20:00 +0000)]
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.

17 years agoUse errhint() for WIN32 SIGTERM message, where possible.
Bruce Momjian [Mon, 22 Jan 2007 19:38:05 +0000 (19:38 +0000)]
Use errhint() for WIN32 SIGTERM message, where possible.

17 years agoUppercase hex value.
Bruce Momjian [Mon, 22 Jan 2007 18:32:57 +0000 (18:32 +0000)]
Uppercase hex value.

17 years agoWhen system() fails in Win32, report it as an exception, print the
Bruce Momjian [Mon, 22 Jan 2007 18:31:51 +0000 (18:31 +0000)]
When system() fails in Win32, report it as an exception, print the
exception value in hex, and give a URL where the value can be looked-up.

17 years agoUpdate documenation instructions. on how to delete template1.
Bruce Momjian [Mon, 22 Jan 2007 02:47:56 +0000 (02:47 +0000)]
Update documenation instructions. on how to delete template1.

17 years agoAdjust pgbench so it won't spit up on non-select queries returning
Tom Lane [Mon, 22 Jan 2007 02:17:30 +0000 (02:17 +0000)]
Adjust pgbench so it won't spit up on non-select queries returning
tuples, which is entirely possible with custom scripts (consider
RETURNING, EXPLAIN, etc).

17 years agoAdd COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc
Tom Lane [Mon, 22 Jan 2007 01:35:23 +0000 (01:35 +0000)]
Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc
columns procost and prorows, to allow simple user adjustment of the estimated
cost of a function call, as well as control of the estimated number of rows
returned by a set-returning function.  We might eventually wish to extend this
to allow function-specific estimation routines, but there seems to be
consensus that we should try a simple constant estimate first.  In particular
this provides a relatively simple way to control the order in which different
WHERE clauses are applied in a plan node, which is a Good Thing in view of the
fact that the recent EquivalenceClass planner rewrite made that much less
predictable than before.

17 years agoRemove some unused variables
Peter Eisentraut [Sun, 21 Jan 2007 09:23:29 +0000 (09:23 +0000)]
Remove some unused variables

17 years agoPut back libpq link, but make sure that libpq's in-tree directory is
Peter Eisentraut [Sun, 21 Jan 2007 09:19:06 +0000 (09:19 +0000)]
Put back libpq link, but make sure that libpq's in-tree directory is
mentioned before the system directories.

17 years agoRefactor some lsyscache routines to eliminate duplicate code and save
Tom Lane [Sun, 21 Jan 2007 00:57:15 +0000 (00:57 +0000)]
Refactor some lsyscache routines to eliminate duplicate code and save
a couple of syscache lookups in make_pathkey_from_sortinfo().

17 years agoAdd bitmap index URL:
Bruce Momjian [Sat, 20 Jan 2007 23:18:38 +0000 (23:18 +0000)]
Add bitmap index URL:

>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php

17 years agoSimplify pg_am representation of ordering-capable access methods:
Tom Lane [Sat, 20 Jan 2007 23:13:01 +0000 (23:13 +0000)]
Simplify pg_am representation of ordering-capable access methods:
provide just a boolean 'amcanorder', instead of fields that specify the
sort operator strategy numbers.  We have decided to require ordering-capable
AMs to use btree-compatible strategy numbers, so the old fields are
overkill (and indeed misleading about what's allowed).

17 years agoAdd URL for dead space map:
Bruce Momjian [Sat, 20 Jan 2007 23:08:20 +0000 (23:08 +0000)]
Add URL for dead space map:

>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg01188.php
>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00121.php

17 years agoUpdate docs for recent change to setseed() return value.
Neil Conway [Sat, 20 Jan 2007 21:59:34 +0000 (21:59 +0000)]
Update docs for recent change to setseed() return value.

17 years agoMake setseed() return void, rather than an int4 without any use. Per
Neil Conway [Sat, 20 Jan 2007 21:47:10 +0000 (21:47 +0000)]
Make setseed() return void, rather than an int4 without any use. Per
pgsql-patches discussion of September 20, 2006. Bump the catversion.

17 years agoAdd documentation of memory and time units to postgresql.conf.
Bruce Momjian [Sat, 20 Jan 2007 21:42:03 +0000 (21:42 +0000)]
Add documentation of memory and time units to postgresql.conf.
Backpatch to 8.2.X for new initdbs.