]> granicus.if.org Git - postgresql/log
postgresql
16 years agoGive an explicit error for serial[], rather than silently ignoring
Tom Lane [Fri, 21 Mar 2008 22:10:56 +0000 (22:10 +0000)]
Give an explicit error for serial[], rather than silently ignoring
the array decoration as the code had been doing.

16 years agoReport the current queries of all backends involved in a deadlock
Tom Lane [Fri, 21 Mar 2008 21:08:31 +0000 (21:08 +0000)]
Report the current queries of all backends involved in a deadlock
(if they'd be visible to the current user in pg_stat_activity).

This might look like it's subject to race conditions, but it's actually
pretty safe because at the time DeadLockReport() is constructing the
report, we haven't yet aborted our transaction and so we can expect that
everyone else involved in the deadlock is still blocked on some lock.
(There are corner cases where that might not be true, such as a statement
timeout triggering in another backend before we finish reporting; but at
worst we'd report a misleading activity string, so it seems acceptable
considering the usefulness of reporting the queries.)

Original patch by Itagaki Takahiro, heavily modified by me.

16 years agoAdd:
Bruce Momjian [Fri, 21 Mar 2008 20:00:53 +0000 (20:00 +0000)]
Add:

>
> * Convert single quotes to apostrophes in the PDF documentation
>
>   http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php
>

16 years agoAdd:
Bruce Momjian [Fri, 21 Mar 2008 19:58:11 +0000 (19:58 +0000)]
Add:

>
> * Fix inconsistent precedence of =, >, and < compared to <>, >=, and <=
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php

16 years agoAdd:
Bruce Momjian [Fri, 21 Mar 2008 19:34:33 +0000 (19:34 +0000)]
Add:

>
>  o Prevent SSL from sending network packets to avoid interference
>    with Win32 signal emulation
>
>    http://archives.postgresql.org/pgsql-hackers/2007-12/msg00455.php

16 years agoCorrected version number.
Michael Meskes [Fri, 21 Mar 2008 16:10:23 +0000 (16:10 +0000)]
Corrected version number.

16 years agoDocument that soft-mounting NFS is not recommended.
Bruce Momjian [Fri, 21 Mar 2008 14:23:37 +0000 (14:23 +0000)]
Document that soft-mounting NFS is not recommended.

16 years agoMore README src cleanups.
Bruce Momjian [Fri, 21 Mar 2008 13:23:29 +0000 (13:23 +0000)]
More README src cleanups.

16 years agoAdjust pgstatindex() to give correct answers for indexes larger than
Tom Lane [Fri, 21 Mar 2008 03:23:30 +0000 (03:23 +0000)]
Adjust pgstatindex() to give correct answers for indexes larger than
2^31 blocks.  Also fix pg_relpages() for the same case.
Tatsuhito Kasahara

16 years agoGenerate dummy probes.h for MSVC builds.
Andrew Dunstan [Fri, 21 Mar 2008 02:50:02 +0000 (02:50 +0000)]
Generate dummy probes.h for MSVC builds.

16 years agoGet rid of a bunch of #ifdef HAVE_INT64_TIMESTAMP conditionals by inventing
Tom Lane [Fri, 21 Mar 2008 01:31:43 +0000 (01:31 +0000)]
Get rid of a bunch of #ifdef HAVE_INT64_TIMESTAMP conditionals by inventing
a new typedef TimeOffset to represent an intermediate time value.  It's
either int64 or double as appropriate, and in most usages will be measured
in microseconds or seconds the same as Timestamp.  We don't call it
Timestamp, though, since the value doesn't necessarily represent an absolute
time instant.

Warren Turkal

16 years agoArrange for an explicit cast applied to an ARRAY[] constructor to be applied
Tom Lane [Thu, 20 Mar 2008 21:42:48 +0000 (21:42 +0000)]
Arrange for an explicit cast applied to an ARRAY[] constructor to be applied
directly to all the member expressions, instead of the previous implementation
where the ARRAY[] constructor would infer a common element type and then we'd
coerce the finished array after the fact.  This has a number of benefits,
one being that we can allow an empty ARRAY[] construct so long as its
element type is specified by such a cast.

Brendan Jurd, minor fixes by me.

16 years agoAdd a couple of missing FreeQueryDesc calls. Noticed while testing a
Alvaro Herrera [Thu, 20 Mar 2008 20:05:56 +0000 (20:05 +0000)]
Add a couple of missing FreeQueryDesc calls.  Noticed while testing a
framework to keep track of snapshots in use.

16 years agoMake source code READMEs more consistent. Add CVS tags to all README files.
Bruce Momjian [Thu, 20 Mar 2008 17:55:15 +0000 (17:55 +0000)]
Make source code READMEs more consistent.  Add CVS tags to all README files.

16 years agoDept of second thoughts: --no-tablespaces had better also prevent
Tom Lane [Thu, 20 Mar 2008 17:42:51 +0000 (17:42 +0000)]
Dept of second thoughts: --no-tablespaces had better also prevent
pg_dumpall from attaching TABLESPACE options to CREATE DATABASE commands.

16 years agoSupport a --no-tablespaces option in pg_dump/pg_dumpall/pg_restore, so that
Tom Lane [Thu, 20 Mar 2008 17:36:58 +0000 (17:36 +0000)]
Support a --no-tablespaces option in pg_dump/pg_dumpall/pg_restore, so that
dumps can be loaded into databases without the same tablespaces that the
source had.  The option acts by suppressing all "SET default_tablespace"
commands, and also CREATE TABLESPACE commands in pg_dumpall's case.

Gavin Roy, with documentation and minor fixes by me.

16 years agoAdded ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury.
Michael Meskes [Thu, 20 Mar 2008 16:29:45 +0000 (16:29 +0000)]
Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury.
Removed one include file from connect-test1.

16 years agoChanged statement escaping to not escape continuation line markers.
Michael Meskes [Thu, 20 Mar 2008 15:56:59 +0000 (15:56 +0000)]
Changed statement escaping to not escape continuation line markers.

16 years agoAdd the missing cyrillic "Yo" characters ('e' and 'E' with two dots) to the
Heikki Linnakangas [Thu, 20 Mar 2008 10:30:04 +0000 (10:30 +0000)]
Add the missing cyrillic "Yo" characters ('e' and 'E' with two dots) to the
ISO_8859-5 <-> MULE_INTERNAL conversion tables.

This was discovered when trying to convert a string containing those characters
from ISO_8859-5 to Windows-1251, because we use MULE_INTERNAL/KOI8R as an
intermediate encoding between those two.

While the missing "Yo" was just an omission in the conversion tables, there are
a few other characters like the "Numero" sign ("No" as a single character) that
exists in all the other cyrillic encodings (win1251, ISO_8859-5 and cp866), but
not in KOI8R. Added comments about that.

Patch by Sergey Burladyan. Back-patch to 7.4.

16 years agoRemove another useless snapshot creation.
Alvaro Herrera [Wed, 19 Mar 2008 21:14:20 +0000 (21:14 +0000)]
Remove another useless snapshot creation.

16 years agoSupport ALTER TYPE RENAME. Petr Jelinek
Tom Lane [Wed, 19 Mar 2008 18:38:30 +0000 (18:38 +0000)]
Support ALTER TYPE RENAME.  Petr Jelinek

16 years agoWe no longer need a snapshot set after opening the finishing transaction: this
Alvaro Herrera [Wed, 19 Mar 2008 14:18:21 +0000 (14:18 +0000)]
We no longer need a snapshot set after opening the finishing transaction: this
is redundant because autovacuum now always analyzes a single table per
transaction.

16 years agoAdd -M (query mode) option per ITAGAKI Takahiro
Tatsuo Ishii [Wed, 19 Mar 2008 03:33:21 +0000 (03:33 +0000)]
Add -M (query mode) option per ITAGAKI Takahiro

16 years agoFix regexp substring matching (substring(string from pattern)) for the corner
Tom Lane [Wed, 19 Mar 2008 02:40:37 +0000 (02:40 +0000)]
Fix regexp substring matching (substring(string from pattern)) for the corner
case where there is a match to the pattern overall but the user has specified
a parenthesized subexpression and that subexpression hasn't got a match.
An example is substring('foo' from 'foo(bar)?').  This should return NULL,
since (bar) isn't matched, but it was mistakenly returning the whole-pattern
match instead (ie, 'foo').  Per bug #4044 from Rui Martins.

This has been broken since the beginning; patch in all supported versions.
The old behavior was sufficiently inconsistent that it's impossible to believe
anyone is depending on it.

16 years agoAdd libpq new API lo_import_with_oid() which is similar to lo_import()
Tatsuo Ishii [Wed, 19 Mar 2008 00:39:33 +0000 (00:39 +0000)]
Add libpq new API lo_import_with_oid() which is similar to lo_import()
except that lob's oid can be specified.

16 years agoFix tps calculation when -C supplied. Per Yoshiyuki Asaba.
Tatsuo Ishii [Wed, 19 Mar 2008 00:29:35 +0000 (00:29 +0000)]
Fix tps calculation when -C supplied. Per Yoshiyuki Asaba.
Change Copyright owner from mine to PostgreSQL Global Development Group
Fix minor message typo

16 years agoSpit items:
Bruce Momjian [Tue, 18 Mar 2008 23:35:21 +0000 (23:35 +0000)]
Spit items:

* Experiment with multi-threaded backend better I/O utilization

  This would allow a single query to make use of multiple I/O channels
  simultaneously.  One idea is to create a background reader that can
  pre-fetch sequential and index scan pages needed by other backends.
  This could be expanded to allow concurrent reads from multiple devices
  in a partitioned table.

* Experiment with multi-threaded backend better CPU utilization

  This would allow several CPUs to be used for a single query, such as
  for sorting or query execution.

16 years agoUpdate TODO description:
Bruce Momjian [Tue, 18 Mar 2008 23:32:57 +0000 (23:32 +0000)]
Update TODO description:

* Speed WAL recovery by allowing more than one page to be prefetched

  This should be done utilizing the same infrastructure used for
  prefetching in general to avoid introducing complex error-prone code
  in WAL replay.

16 years agoAdd find_typedef comments for Linux.
Bruce Momjian [Tue, 18 Mar 2008 23:23:08 +0000 (23:23 +0000)]
Add find_typedef comments for Linux.

16 years agoAdd find_typedef comment.
Bruce Momjian [Tue, 18 Mar 2008 23:04:34 +0000 (23:04 +0000)]
Add find_typedef comment.

16 years agoAdd Linux support to find_typedefs, with help from Alvaro.
Bruce Momjian [Tue, 18 Mar 2008 22:45:11 +0000 (22:45 +0000)]
Add Linux support to find_typedefs, with help from Alvaro.

16 years agoArrange to "inline" SQL functions that appear in a query's FROM clause,
Tom Lane [Tue, 18 Mar 2008 22:04:14 +0000 (22:04 +0000)]
Arrange to "inline" SQL functions that appear in a query's FROM clause,
are declared to return set, and consist of just a single SELECT.  We
can replace the FROM-item with a sub-SELECT and then optimize much as
if we were dealing with a view.  Patch from Richard Rowell, cleaned up
by me.

16 years agoAdd to TODO:
Bruce Momjian [Tue, 18 Mar 2008 18:40:42 +0000 (18:40 +0000)]
Add to TODO:

>
> * Consider not storing a NULL bitmap on disk if all the NULLs are
>   trailing
>
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php
>   http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php
>

16 years agoDon't need -Wno-error anymore, because flex is no longer producing warnings.
Peter Eisentraut [Tue, 18 Mar 2008 17:46:23 +0000 (17:46 +0000)]
Don't need -Wno-error anymore, because flex is no longer producing warnings.

16 years agoCatch all errors in for and while loops in makefiles. Don't ignore any
Peter Eisentraut [Tue, 18 Mar 2008 16:24:50 +0000 (16:24 +0000)]
Catch all errors in for and while loops in makefiles.  Don't ignore any
errors in any commands, including in various clean targets that have so far
been handled inconsistently.  make -i is available to ignore all errors in
a consistent and official way.

16 years agocvsweb lives on anoncvs.postgresql.org these days.
Magnus Hagander [Tue, 18 Mar 2008 16:05:07 +0000 (16:05 +0000)]
cvsweb lives on anoncvs.postgresql.org these days.

16 years agoWiki page about cvs now lives in the main wiki, the one
Magnus Hagander [Tue, 18 Mar 2008 16:02:27 +0000 (16:02 +0000)]
Wiki page about cvs now lives in the main wiki, the one
on developer.postgresql.org is going away.

16 years agoAdd TODO URLs for:
Bruce Momjian [Tue, 18 Mar 2008 15:30:59 +0000 (15:30 +0000)]
Add TODO URLs for:

        o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)

>    http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php
>    http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php

16 years agoMove elog(DEBUG4) call outside the locked area, per suggestion from Tom Lane.
Alvaro Herrera [Tue, 18 Mar 2008 12:36:43 +0000 (12:36 +0000)]
Move elog(DEBUG4) call outside the locked area, per suggestion from Tom Lane.

16 years agoAdd URLs for :
Bruce Momjian [Tue, 18 Mar 2008 03:59:45 +0000 (03:59 +0000)]
Add URLs for :

* Speed WAL recovery by allowing more than one page to be prefetched

  This involves having a separate process that can be told which pages
  the recovery process will need in the near future.

>   http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php
<

16 years agoAdvance multiple array keys rightmost-first instead of leftmost-first
Tom Lane [Tue, 18 Mar 2008 03:54:52 +0000 (03:54 +0000)]
Advance multiple array keys rightmost-first instead of leftmost-first
during a bitmap index scan.  This cannot affect the query results
(since we're just dumping the TIDs into a bitmap) but it might offer
some advantage in locality of access to the index.  Per Greg Stark.

16 years agoAdd TODO:
Bruce Momjian [Tue, 18 Mar 2008 02:37:05 +0000 (02:37 +0000)]
Add TODO:

>  o Recreate pg_xlog/archive_status/ if it doesn't exist after
>    restoring from a PITR backup
>
>    http://archives.postgresql.org/pgsql-hackers/2007-12/msg00487.php

16 years agoFix our printf implementation to follow spec: if a star parameter
Tom Lane [Tue, 18 Mar 2008 01:49:44 +0000 (01:49 +0000)]
Fix our printf implementation to follow spec: if a star parameter
value for a precision is negative, act as though precision weren't
specified at all, that is the whole .* part of the format spec should
be ignored.  Our previous coding took it as .0 which is certainly
wrong.  Per report from Kris Jurka and local testing.

Possibly this should be back-patched, but it would be good to get
some more testing first; in any case there are no known cases where
there's really a problem on the backend side.

16 years agoAdd to TODO:
Bruce Momjian [Tue, 18 Mar 2008 00:43:01 +0000 (00:43 +0000)]
Add to TODO:

>
> * Consider Cartesian joins when both relations are needed to form an
>   indexscan qualification for a third relation
>
>   http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php

16 years agoAdd URL for:
Bruce Momjian [Tue, 18 Mar 2008 00:23:41 +0000 (00:23 +0000)]
Add URL for:

        o Allow COPY to report error lines and continue

          This requires the use of a savepoint before each COPY line is
          processed, with ROLLBACK on COPY failure.
>    http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php

16 years agoAdd to TODO:
Bruce Momjian [Mon, 17 Mar 2008 23:56:30 +0000 (23:56 +0000)]
Add to TODO:

>
> * Allow SSL key file permission checks to be optionally disabled when
>   sharing SSL keys with other applications
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php

16 years agoAdd:
Bruce Momjian [Mon, 17 Mar 2008 23:49:33 +0000 (23:49 +0000)]
Add:

>
> * Reduce BIT data type overhead using short varlena headers
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php

16 years agoAdd to TODO:
Bruce Momjian [Mon, 17 Mar 2008 23:32:21 +0000 (23:32 +0000)]
Add to TODO:

> * Reduce file system activity overhead of statistics file pgstat.stat
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00106.php
>

16 years agoAdd to TODO:
Bruce Momjian [Mon, 17 Mar 2008 22:59:01 +0000 (22:59 +0000)]
Add to TODO:

> * Consider if CommandCounterIncrement() can avoid its
>   AcceptInvalidationMessages() call
>
>   http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php

16 years agoAdd URL for:
Bruce Momjian [Mon, 17 Mar 2008 22:54:23 +0000 (22:54 +0000)]
Add URL for:

* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01334.php

16 years agoAdd:
Bruce Momjian [Mon, 17 Mar 2008 22:53:02 +0000 (22:53 +0000)]
Add:

>
>  o Remove pre-7.3 pg_dump code that assumes pg_depend does not exit

16 years agoAdd URL for:
Bruce Momjian [Mon, 17 Mar 2008 22:45:20 +0000 (22:45 +0000)]
Add URL for:

* Improve text search error messages

>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php

16 years agoAdded to TODO:
Bruce Momjian [Mon, 17 Mar 2008 22:34:23 +0000 (22:34 +0000)]
Added to TODO:

> * Improve text search error messages
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php
>
>
> * Fix /contrib/ltree operator
>
>   http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php

16 years agoAdd TODO:
Bruce Momjian [Mon, 17 Mar 2008 21:49:11 +0000 (21:49 +0000)]
Add TODO:

>
>  o Fix server restart problem when the server was shutdown during
>    a PITR backup
>
>    http://archives.postgresql.org/pgsql-hackers/2007-11/msg00800.php
>

16 years agoAdjust TODO spacing.
Bruce Momjian [Mon, 17 Mar 2008 21:45:14 +0000 (21:45 +0000)]
Adjust TODO spacing.

16 years agoAdd TODO URL for:
Bruce Momjian [Mon, 17 Mar 2008 21:09:30 +0000 (21:09 +0000)]
Add TODO URL for:

* Consider increasing the number of default statistics target, and
  reduce statistics target overhead

>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01066.php

16 years agoEnable probes to work with Mac OS X Leopard and other OSes that will
Peter Eisentraut [Mon, 17 Mar 2008 19:44:41 +0000 (19:44 +0000)]
Enable probes to work with Mac OS X Leopard and other OSes that will
support DTrace in the future.

Switch from using DTRACE_PROBEn macros to the dynamically generated macros.
Use "dtrace -h" to create a header file that contains the dynamically
generated macros to be used in the source code instead of the DTRACE_PROBEn
macros.  A dummy header file is generated for builds without DTrace support.

Author: Robert Lor <Robert.Lor@sun.com>

16 years agoWe need to rebuild objfiles.txt when one of the subdirectories' objfiles.txt
Peter Eisentraut [Mon, 17 Mar 2008 18:24:56 +0000 (18:24 +0000)]
We need to rebuild objfiles.txt when one of the subdirectories' objfiles.txt
changed in case a new file got added.

16 years agoAdd:
Bruce Momjian [Mon, 17 Mar 2008 18:22:44 +0000 (18:22 +0000)]
Add:
>
>  o Allow Kerberos to disable stripping of realms so we can
>    check the username@realm against multiple realms
>
>    http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php

16 years agoFix postgres --describe-config for guc enums, breakage noted by Alvaro.
Magnus Hagander [Mon, 17 Mar 2008 17:45:09 +0000 (17:45 +0000)]
Fix postgres --describe-config for guc enums, breakage noted by Alvaro.

While at it, rename option lookup functions to make names clearer, per
discussion with Tom.

16 years agoRevert thinko introduced into prefix_selectivity() by my recent patch:
Tom Lane [Mon, 17 Mar 2008 17:13:54 +0000 (17:13 +0000)]
Revert thinko introduced into prefix_selectivity() by my recent patch:
make_greater_string needs the < procedure not the >= one.  Spotted by
Peter.

16 years agoMove ProcState definition into sinvaladt.c from sinvaladt.h, since it's not
Alvaro Herrera [Mon, 17 Mar 2008 11:50:27 +0000 (11:50 +0000)]
Move ProcState definition into sinvaladt.c from sinvaladt.h, since it's not
needed anywhere after my previous patch.  Noticed by Tom Lane.

Also, remove #include <signal.h> from sinval.c.

16 years agoGrab some low-hanging fruit in the new hash index build code.
Tom Lane [Mon, 17 Mar 2008 03:45:36 +0000 (03:45 +0000)]
Grab some low-hanging fruit in the new hash index build code.
oprofile shows that a nontrivial amount of time is being spent in
repeated calls to index_getprocinfo, which really only needs to be
called once.  So do that, and inline _hash_datum2hashkey to make it
work.

16 years agoFix TransactionIdIsCurrentTransactionId() to use binary search instead of
Tom Lane [Mon, 17 Mar 2008 02:18:55 +0000 (02:18 +0000)]
Fix TransactionIdIsCurrentTransactionId() to use binary search instead of
linear search when checking child-transaction XIDs.  This makes for an
important speedup in transactions that have large numbers of children,
as in a recent example from Craig Ringer.  We can also get rid of an
ugly kluge that represented lists of TransactionIds as lists of OIDs.

Heikki Linnakangas

16 years agoDone:
Bruce Momjian [Mon, 17 Mar 2008 01:46:42 +0000 (01:46 +0000)]
Done:

>  o -During index creation, pre-sort the tuples to improve build speed

16 years agoAdd a note to the CREATE INDEX reference page about the impact of
Tom Lane [Sun, 16 Mar 2008 23:57:51 +0000 (23:57 +0000)]
Add a note to the CREATE INDEX reference page about the impact of
maintenance_work_mem and effective_cache_size on index creation speed.

16 years agoWhen creating a large hash index, pre-sort the index entries by estimated
Tom Lane [Sun, 16 Mar 2008 23:15:08 +0000 (23:15 +0000)]
When creating a large hash index, pre-sort the index entries by estimated
bucket number, so as to ensure locality of access to the index during the
insertion step.  Without this, building an index significantly larger than
available RAM takes a very long time because of thrashing.  On the other
hand, sorting is just useless overhead when the index does fit in RAM.
We choose to sort when the initial index size exceeds effective_cache_size.

This is a revised version of work by Tom Raney and Shreya Bhargava.

16 years agoModify interactions between sinval.c and sinvaladt.c. The code that actually
Alvaro Herrera [Sun, 16 Mar 2008 19:47:34 +0000 (19:47 +0000)]
Modify interactions between sinval.c and sinvaladt.c.  The code that actually
deals with the queue, including locking etc, is all in sinvaladt.c.  This means
that the struct definition of the queue, and the queue pointer, are now
internal "implementation details" inside sinvaladt.c.

Per my proposal dated 25-Jun-2007 and followup discussion.

16 years agoSome cleanups of enum-guc code, per comments from Tom.
Magnus Hagander [Sun, 16 Mar 2008 16:42:44 +0000 (16:42 +0000)]
Some cleanups of enum-guc code, per comments from Tom.

16 years agoChange hash index creation so that rather than always establishing exactly
Tom Lane [Sat, 15 Mar 2008 20:46:31 +0000 (20:46 +0000)]
Change hash index creation so that rather than always establishing exactly
two buckets at the start, we create a number of buckets appropriate for the
estimated size of the table.  This avoids a lot of expensive bucket-split
actions during initial index build on an already-populated table.

This is one of the two core ideas of Tom Raney and Shreya Bhargava's patch
to reduce hash index build time.  I'm committing it separately to make it
easier for people to test the effects of this separately from the effects
of their other core idea (pre-sorting the index entries by bucket number).

16 years agoFix inappropriately-timed memory context switch in autovacuum_do_vac_analyze.
Tom Lane [Fri, 14 Mar 2008 23:49:28 +0000 (23:49 +0000)]
Fix inappropriately-timed memory context switch in autovacuum_do_vac_analyze.
This accidentally failed to fail before 8.3, because the context we were
switching back to was long-lived anyway; but it sure looks risky as can be
now.  Well spotted by Pavan Deolasee.

16 years agoFix duplicate word, per Guillaume Lelarge.
Alvaro Herrera [Fri, 14 Mar 2008 17:28:23 +0000 (17:28 +0000)]
Fix duplicate word, per Guillaume Lelarge.

16 years agoFix vacuum so that autovacuum is really not cancelled when doing an emergency
Alvaro Herrera [Fri, 14 Mar 2008 17:25:59 +0000 (17:25 +0000)]
Fix vacuum so that autovacuum is really not cancelled when doing an emergency
job (i.e. to prevent Xid wraparound problems.)  Bug reported by ITAGAKI
Takahiro in 20080314103837.63D3.52131E4D@oss.ntt.co.jp, though I didn't use his
patch.

16 years agoUpdate release notes for 8.3.1 and 8.2.7 releases.
Tom Lane [Thu, 13 Mar 2008 23:47:49 +0000 (23:47 +0000)]
Update release notes for 8.3.1 and 8.2.7 releases.

16 years agoUpdate to tzdata 2008a distribution (Chilean DST law change).
Tom Lane [Thu, 13 Mar 2008 19:21:43 +0000 (19:21 +0000)]
Update to tzdata 2008a distribution (Chilean DST law change).

16 years agoFix varstr_cmp's special case for UTF8 encoding on Windows so that strings
Tom Lane [Thu, 13 Mar 2008 18:31:56 +0000 (18:31 +0000)]
Fix varstr_cmp's special case for UTF8 encoding on Windows so that strings
that are reported as "equal" by wcscoll() are checked to see if they really
are bitwise equal, and are sorted per strcmp() if not.  We made this happen
a couple of years ago in the regular code path, but it unaccountably got
left out of the Windows/UTF8 case (probably brain fade on my part at the
time).  As in the prior set of changes, affected users may need to reindex
indexes on textual columns.

Backpatch as far as 8.2, which is the oldest release we are still supporting
on Windows.

16 years agoFix heap_page_prune's problem with failing to send cache invalidation
Tom Lane [Thu, 13 Mar 2008 18:00:32 +0000 (18:00 +0000)]
Fix heap_page_prune's problem with failing to send cache invalidation
messages if the calling transaction aborts later on.  Collapsing out line
pointer redirects is a done deal as soon as we complete the page update,
so syscache *must* be notified even if the VACUUM FULL as a whole doesn't
complete.  To fix, add some functionality to inval.c to allow the pending
inval messages to be sent immediately while heap_page_prune is still
running.  The implementation is a bit chintzy: it will only work in the
context of VACUUM FULL.  But that's all we need now, and it can always be
extended later if needed.  Per my trouble report of a week ago.

16 years agoAdd URL for:
Bruce Momjian [Thu, 13 Mar 2008 01:56:46 +0000 (01:56 +0000)]
Add URL for:

* Do async I/O for faster random read-ahead of data

  Async I/O allows multiple I/O requests to be sent to the disk with
  results coming back asynchronously.

>   http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php

16 years agoFix pg_plan_queries() to restore the previous setting of ActiveSnapshot
Tom Lane [Wed, 12 Mar 2008 23:58:27 +0000 (23:58 +0000)]
Fix pg_plan_queries() to restore the previous setting of ActiveSnapshot
(probably NULL) before exiting.  Up to now it's just left the variable as it
set it, which means that after we're done processing the current client
message, ActiveSnapshot is probably pointing at garbage (because this function
is typically run in MessageContext which will get reset).  There doesn't seem
to have been any code path in which that mattered before 8.3, but now the
plancache module might try to use the stale value if the next client message
is a Bind for a prepared statement that is in need of replanning.  Per report
from Alex Hunsaker.

16 years agoAdd psql TODO:
Bruce Momjian [Wed, 12 Mar 2008 20:50:22 +0000 (20:50 +0000)]
Add psql TODO:

< * Include the symbolic SQLSTATE name in verbose error reports
<
<   http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php

16 years agoAdd to TODO:
Bruce Momjian [Wed, 12 Mar 2008 20:19:46 +0000 (20:19 +0000)]
Add to TODO:

> * Expire published xmin for read-only and idle transactions
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00343.php

16 years agoFix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing
Tom Lane [Wed, 12 Mar 2008 20:11:46 +0000 (20:11 +0000)]
Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing
pg_listener modifications commanded by LISTEN and UNLISTEN until the end
of the current transaction.  This allows us to hold the ExclusiveLock on
pg_listener until after commit, with no greater risk of deadlock than there
was before.  Aside from fixing the race condition, this gets rid of a
truly ugly kludge that was there before, namely having to ignore
HeapTupleBeingUpdated failures during NOTIFY.  There is a small potential
incompatibility, which is that if a transaction issues LISTEN or UNLISTEN
and then looks into pg_listener before committing, it won't see any resulting
row insertion or deletion, where before it would have.  It seems unlikely
that anyone would be depending on that, though.

This patch also disallows LISTEN and UNLISTEN inside a prepared transaction.
That case had some pretty undesirable properties already, such as possibly
allowing pg_listener entries to be made for PIDs no longer present, so
disallowing it seems like a better idea than trying to maintain the behavior.

16 years agoAdd:
Bruce Momjian [Wed, 12 Mar 2008 19:41:23 +0000 (19:41 +0000)]
Add:

>
> * Consider a special data type for regular expressions
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php

16 years agoBack out text search change to TODO.
Bruce Momjian [Wed, 12 Mar 2008 19:40:01 +0000 (19:40 +0000)]
Back out text search change to TODO.

16 years agoUpdate TODO:
Bruce Momjian [Wed, 12 Mar 2008 19:32:07 +0000 (19:32 +0000)]
Update TODO:

* Add array_accum() and array_to_set() functions for arrays

  The standards specify array_agg() and UNNEST.
  http://archives.postgresql.org/pgsql-hackers/2007-08/msg00464.php

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 19:30:59 +0000 (19:30 +0000)]
Add URL for:

* Consider a simplified API for full text searches

>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php

16 years agoAdd for Win32 TODO:
Bruce Momjian [Wed, 12 Mar 2008 19:28:03 +0000 (19:28 +0000)]
Add for Win32 TODO:

>
>  o Convert MSVC build system to remove most batch files
>
>    http://archives.postgresql.org/pgsql-hackers/2007-08/msg00961.php

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 19:15:25 +0000 (19:15 +0000)]
Add URL for:

* Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY

>   http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php

16 years agoAdd for Win32 TODO:
Bruce Momjian [Wed, 12 Mar 2008 18:33:54 +0000 (18:33 +0000)]
Add for Win32 TODO:

>  o Diagnose problem where shared memory can sometimes not be
>    attached by postmaster children
>
>    http://archives.postgresql.org/pgsql-general/2007-08/msg01377.php
>

16 years agoAdd to TODO:
Bruce Momjian [Wed, 12 Mar 2008 18:32:29 +0000 (18:32 +0000)]
Add to TODO:

>
> * Remove use of MAKE_PTR and MAKE_OFFSET macros
>
>   http://archives.postgresql.org/pgsql-general/2007-08/msg01510.php

16 years agoAdd to TODO:
Bruce Momjian [Wed, 12 Mar 2008 15:14:50 +0000 (15:14 +0000)]
Add to TODO:

>
> * Add array_accum() and array_to_set() functions for arrays
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00464.php

16 years agoAdd a comment explaining one of the ways that pgbench fails to fully
Tom Lane [Wed, 12 Mar 2008 02:18:33 +0000 (02:18 +0000)]
Add a comment explaining one of the ways that pgbench fails to fully
comply with TPC-B.  Per Itagaki Takahiro and discussion of bug#3681.

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 01:48:08 +0000 (01:48 +0000)]
Add URL for:

* Improve speed with indexes

  For large table adjustments during VACUUM FULL, it is faster to cluster
  or reindex rather than update the index.  Also, index updates can bloat
  the index.

>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00307.php

16 years agoAdd:
Bruce Momjian [Wed, 12 Mar 2008 01:40:09 +0000 (01:40 +0000)]
Add:

>
> * Allow domains to be cast
>
>   http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php

16 years agoAdd:
Bruce Momjian [Wed, 12 Mar 2008 01:35:00 +0000 (01:35 +0000)]
Add:

>
> * Consider simplifying how memory context resets handle child contexts
>
>   http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 01:21:25 +0000 (01:21 +0000)]
Add URL for:

>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 01:08:32 +0000 (01:08 +0000)]
Add URL for:

* Consider increasing NUM_CLOG_BUFFERS

>   http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php

16 years agoAdd URL for:
Bruce Momjian [Wed, 12 Mar 2008 01:03:04 +0000 (01:03 +0000)]
Add URL for:

* Consider increasing NUM_CLOG_BUFFERS
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php
>

16 years agoPrevent psql \copy from accepting multiple string parameters, e.g.
Bruce Momjian [Tue, 11 Mar 2008 23:30:56 +0000 (23:30 +0000)]
Prevent psql \copy from accepting multiple string parameters, e.g.

test=> \copy billing_data from ../BillingSamplePricerFile.csv with csv
   header quote as '"' null as 'abc' null as '123'
\copy: parse error at "null"

Per report from Stephen Frost

16 years agoUpdate TODO:
Bruce Momjian [Tue, 11 Mar 2008 23:17:05 +0000 (23:17 +0000)]
Update TODO:

        o Allow COPY in CSV mode to control whether a quoted zero-length
          string is treated as NULL

          Currently this is always treated as a zero-length string,
          which generates an error when loading into an integer column