]> granicus.if.org Git - postgresql/log
postgresql
16 years agoAdd missing copyfuncs/equalfuncs support for AlterTSDictionaryStmt and
Tom Lane [Thu, 7 Feb 2008 20:19:47 +0000 (20:19 +0000)]
Add missing copyfuncs/equalfuncs support for AlterTSDictionaryStmt and
AlterTSConfigurationStmt.  All utility statement node types are expected
to be supported here, though they do not have to have outfuncs/readfuncs
support.  Found by running regression tests with COPY_PARSE_PLAN_TREES
enabled.

16 years agoFix msvc install for cases where msgfmt (from gettext) is in a directory
Magnus Hagander [Thu, 7 Feb 2008 17:58:16 +0000 (17:58 +0000)]
Fix msvc install for cases where msgfmt (from gettext) is in a directory
that contains spaces.

Per complaint from Gevik Babakhani, like the last one.

16 years agoFix silly mistake in expand_indexqual_rowcompare --- in converting a forboth()
Tom Lane [Thu, 7 Feb 2008 17:53:53 +0000 (17:53 +0000)]
Fix silly mistake in expand_indexqual_rowcompare --- in converting a forboth()
into an iteration over three parallel lists, I had accidentally put the lnext
steps outside the loop.  Sigh.  Per bug #3938.

16 years agoFix CREATE TABLE ... LIKE ... INCLUDING INDEXES to not cause unwanted
Tom Lane [Thu, 7 Feb 2008 17:09:51 +0000 (17:09 +0000)]
Fix CREATE TABLE ... LIKE ... INCLUDING INDEXES to not cause unwanted
tablespace permissions failures when copying an index that is in the
database's default tablespace.  A side-effect of the change is that explicitly
specifying the default tablespace no longer triggers a permissions check;
this is not how it was done in pre-8.3 releases but is argued to be more
consistent.  Per bug #3921 from Andrew Gilligan.  (Note: I argued in the
subsequent discussion that maybe LIKE shouldn't copy index tablespaces
at all, but since no one indicated agreement with that idea, I've refrained
from doing it.)

16 years agoFix msvc install script to properly install NLS files when built with
Magnus Hagander [Thu, 7 Feb 2008 13:49:00 +0000 (13:49 +0000)]
Fix msvc install script to properly install NLS files when built with
gettext.

16 years ago- Fixed segfault in ecpg when using an array element.
Michael Meskes [Thu, 7 Feb 2008 11:09:13 +0000 (11:09 +0000)]
- Fixed segfault in ecpg when using an array element.
- Free all memory in auto-prepare mode.

16 years agoFix very broken clean.bat for msvc install. The way we used subroutines
Magnus Hagander [Wed, 6 Feb 2008 15:13:25 +0000 (15:13 +0000)]
Fix very broken clean.bat for msvc install. The way we used subroutines
in .bat simply did not work, and it called them in the wrong order,
some several times, and some not at all. So this unrolls all subroutine
calls.

This should fix the issues with clean deleting the wrong files reported
by Dave Page.

While at it, add the "clean dist" option to act like "make distclean",
and no longer remove the flex/bison output files by default. This shuold
fix the problem reported by Pavel Golub in bug #3909.

16 years agoHandle libraries in directories with spaces in them.
Magnus Hagander [Tue, 5 Feb 2008 14:17:23 +0000 (14:17 +0000)]
Handle libraries in directories with spaces in them.

Gevik Babakhani

16 years agoFix mistaken duplicate reference to max_fsm_pages, per bug #3926.
Tom Lane [Sun, 3 Feb 2008 16:24:08 +0000 (16:24 +0000)]
Fix mistaken duplicate reference to max_fsm_pages, per bug #3926.
Also make links clickable.

16 years agoMinor wordsmithing in release notes' description of asynchronous commit.
Tom Lane [Sat, 2 Feb 2008 23:30:23 +0000 (23:30 +0000)]
Minor wordsmithing in release notes' description of asynchronous commit.

16 years agoMove example of turning off synchronous_commit to a more logical place,
Tom Lane [Sat, 2 Feb 2008 23:29:12 +0000 (23:29 +0000)]
Move example of turning off synchronous_commit to a more logical place,
to wit in the description of that variable rather than some other one.

16 years agoFix WaitOnLock() to ensure that the process's "waiting" flag is reset after
Tom Lane [Sat, 2 Feb 2008 22:26:17 +0000 (22:26 +0000)]
Fix WaitOnLock() to ensure that the process's "waiting" flag is reset after
erroring out of a wait.  We can use a PG_TRY block for this, but add a comment
explaining why it'd be a bad idea to use it for any other state cleanup.

Back-patch to 8.2.  Prior releases had the same issue, but only with respect
to the process title, which is likely to get reset almost immediately anyway
after the transaction aborts, so it seems not worth changing them.  In 8.2
and HEAD, the pg_stat_activity "waiting" flag could remain set incorrectly
for a long time.

Per report from Gurjeet Singh.

16 years agoconfigure tag'd 8.3.0 and built witih autoconf 2.59 REL8_3_0
Marc G. Fournier [Fri, 1 Feb 2008 04:16:29 +0000 (04:16 +0000)]
configure tag'd 8.3.0 and built witih autoconf 2.59

16 years agoStamp 8.3 in CVS. _No_ update of configure/configure.in.
Bruce Momjian [Fri, 1 Feb 2008 02:59:02 +0000 (02:59 +0000)]
Stamp 8.3 in CVS.  _No_ update of configure/configure.in.

16 years agoUpdate FAQ for most recent release as 8.3.
Bruce Momjian [Fri, 1 Feb 2008 02:55:41 +0000 (02:55 +0000)]
Update FAQ for most recent release as 8.3.

16 years agoUpdate item:
Bruce Momjian [Fri, 1 Feb 2008 02:41:10 +0000 (02:41 +0000)]
Update item:

< * Improve deadlock detection when deleting items from shared buffers
> * Improve deadlock detection when a page cleaning lock conflicts
>   with a shared buffer that is pinned

16 years agoFix spelling typo in comment.
Bruce Momjian [Thu, 31 Jan 2008 23:31:33 +0000 (23:31 +0000)]
Fix spelling typo in comment.

16 years agoAdd comment about possible URL changes for www7.hp.com:
Bruce Momjian [Thu, 31 Jan 2008 23:30:31 +0000 (23:30 +0000)]
Add comment about possible URL changes for www7.hp.com:

   <!-- If this URL chnages replace it with a URL to www.archive.org. -->

16 years agoUpdate spoofing /tmp symlink instructions to be more specific about the
Bruce Momjian [Thu, 31 Jan 2008 23:03:16 +0000 (23:03 +0000)]
Update spoofing /tmp symlink instructions to be more specific about the
name of the needed symlink file.

16 years agoMention synchronize_seqscans GUC variable in release notes.
Tom Lane [Thu, 31 Jan 2008 21:31:33 +0000 (21:31 +0000)]
Mention synchronize_seqscans GUC variable in release notes.
Update expected release date.

16 years agoRemove the old table of "supported platforms" in favor of a link to the
Tom Lane [Thu, 31 Jan 2008 20:29:30 +0000 (20:29 +0000)]
Remove the old table of "supported platforms" in favor of a link to the
buildfarm plus a narrative description of the CPU types and operating systems
on which Postgres is likely to work.  Now that we've almost completely
decoupled CPU and OS considerations, the former tabular style isn't all that
enlightening anyway.  Perhaps more importantly, no one seems particularly
interested in maintaining the table by hand when we have the buildfarm.

16 years agoFix pg_GSS_error to use conn->errorMessage more sanely, ie, actually
Tom Lane [Thu, 31 Jan 2008 18:58:30 +0000 (18:58 +0000)]
Fix pg_GSS_error to use conn->errorMessage more sanely, ie, actually
work with the PQExpBuffer code instead of fighting it.  This avoids an
unnecessary limit on message length and fixes the latent bug that
errorMessage.len wasn't getting set.

16 years agoImprove pg_autovacuum documentation to clarify that the enabled field cannot
Tom Lane [Thu, 31 Jan 2008 18:40:02 +0000 (18:40 +0000)]
Improve pg_autovacuum documentation to clarify that the enabled field cannot
prevent anti-wraparound vacuuming, and to caution against setting unreasonably
small values of freeze_max_age.  Also put in a notice that this catalog is
likely to disappear entirely in some future release.  Per discussion of
bug #3898 from Steven Flatt.

16 years agoTranslation updates
Peter Eisentraut [Thu, 31 Jan 2008 18:04:52 +0000 (18:04 +0000)]
Translation updates

16 years agoDocument the idea of creating a symbolic link in /tmp to prevent server
Bruce Momjian [Thu, 31 Jan 2008 17:22:43 +0000 (17:22 +0000)]
Document the idea of creating a symbolic link in /tmp to prevent server
spoofing when the socket file has been moved.

16 years agoRemove 3 hex digit limit on symbol number in recent fix.
Andrew Dunstan [Thu, 31 Jan 2008 16:30:24 +0000 (16:30 +0000)]
Remove 3 hex digit limit on symbol number in recent fix.

16 years agoAdd:
Bruce Momjian [Thu, 31 Jan 2008 15:05:09 +0000 (15:05 +0000)]
Add:

> * Improve deadlock detection when deleting items from shared buffers
>
>   http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
>   http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php

16 years agoAdd pid to the pgident event name on win32.
Magnus Hagander [Thu, 31 Jan 2008 09:21:17 +0000 (09:21 +0000)]
Add pid to the pgident event name on win32.

Should fix a problem where two clusters are running under
two different service accounts and get colliding names,
causing only the first cluster to contain the pgident
event description.

Per report from Stephen Denne.

16 years agoFix test that wrongly excluded some dumpbin symbols.
Andrew Dunstan [Thu, 31 Jan 2008 03:26:14 +0000 (03:26 +0000)]
Fix test that wrongly excluded some dumpbin symbols.
Keep the intermediate symbol file rather then blowing it away, for easier debugging.

16 years agoAdd checks to TRUNCATE, CLUSTER, and REINDEX to prevent performing these
Tom Lane [Wed, 30 Jan 2008 19:46:48 +0000 (19:46 +0000)]
Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent performing these
operations when the current transaction has any open references to the
target relation or index (implying it has an active query using the relation).
The need for this was previously recognized in connection with ALTER TABLE,
but anything that summarily eliminates tuples or moves them around would
confuse an active scan.

While this patch does not in itself fix bug #3883 (the deadlock would happen
before the new check fires), it will discourage people from attempting the
sequence of operations that creates a deadlock risk, so it's at least a
partial response to that problem.

In passing, add a previously-missing check to REINDEX to prevent trying to
reindex another backend's temp table.  This isn't a security problem since
only a superuser would get past the schema permission checks, but if we are
testing for this in other utility commands then surely REINDEX should too.

16 years agoAdd a GUC variable "synchronize_seqscans" to allow clients to disable the new
Tom Lane [Wed, 30 Jan 2008 18:35:55 +0000 (18:35 +0000)]
Add a GUC variable "synchronize_seqscans" to allow clients to disable the new
synchronized-scanning behavior, and make pg_dump disable sync scans so that
it will reliably preserve row ordering.  Per recent discussions.

16 years agoTranslation updates
Peter Eisentraut [Wed, 30 Jan 2008 11:05:41 +0000 (11:05 +0000)]
Translation updates

16 years agoImprove table reference
Peter Eisentraut [Wed, 30 Jan 2008 10:49:55 +0000 (10:49 +0000)]
Improve table reference

16 years agoUpdate key words table for 8.3
Peter Eisentraut [Wed, 30 Jan 2008 10:37:36 +0000 (10:37 +0000)]
Update key words table for 8.3

16 years agoDon't putenv() a string that is allocated in a context that will go away
Tom Lane [Wed, 30 Jan 2008 04:11:19 +0000 (04:11 +0000)]
Don't putenv() a string that is allocated in a context that will go away
soon.  I suspect this explains bug #3902, though I'm still not able to
reproduce that.

16 years agoUpdate wording:
Bruce Momjian [Tue, 29 Jan 2008 16:13:09 +0000 (16:13 +0000)]
Update wording:

< * Add anonymous transactions
> * Add autonomous transactions

16 years agoAdd item:
Bruce Momjian [Tue, 29 Jan 2008 16:11:19 +0000 (16:11 +0000)]
Add item:

> * Add anonymous transactions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php
>

16 years agoRemove duplicat item:
Bruce Momjian [Tue, 29 Jan 2008 16:09:28 +0000 (16:09 +0000)]
Remove duplicat item:

<    o Allow the PITR process to be debugged and data examined

16 years agomarkup correct
Peter Eisentraut [Tue, 29 Jan 2008 13:03:50 +0000 (13:03 +0000)]
markup correct

from Gevik Babakhani

16 years agoFix up closePGconn() so that PQreset() will work on GSSAPI/SSPI connections;
Tom Lane [Tue, 29 Jan 2008 02:06:30 +0000 (02:06 +0000)]
Fix up closePGconn() so that PQreset() will work on GSSAPI/SSPI connections;
the patch for those features put its cleanup code into freePGconn() which is
really the wrong place.  Remove redundant code from freePGconn() and add
comments in hopes of preventing similar mistakes in future.
Noticed while trying (futilely) to reproduce bug #3902.

16 years agoArrange to ignore SIGPIPE during SSL_read() and SSL_shutdown(), as these
Tom Lane [Tue, 29 Jan 2008 02:03:39 +0000 (02:03 +0000)]
Arrange to ignore SIGPIPE during SSL_read() and SSL_shutdown(), as these
are known to write on the socket sometimes and thus we are vulnerable to
being killed by the signal if the server happens to go away unexpectedly.
Noticed while trying (futilely) to reproduce bug #3902.

This bug has been there all along, but since the situation is usually
only of interest to developers, I chose not to back-patch the changes.

16 years agoAdd "Communication Method" row to HA feature matrix documentation.
Bruce Momjian [Mon, 28 Jan 2008 18:43:55 +0000 (18:43 +0000)]
Add "Communication Method" row to HA feature matrix documentation.

16 years agoMinor editorial improvements in documentation of session_replication_role;
Tom Lane [Sun, 27 Jan 2008 19:12:28 +0000 (19:12 +0000)]
Minor editorial improvements in documentation of session_replication_role;
in particular correct the obsolete claim that it can't be changed once
any plans have been cached.

16 years agoChange StatementCancelHandler() to check the DoingCommandRead flag to decide
Tom Lane [Sat, 26 Jan 2008 19:55:08 +0000 (19:55 +0000)]
Change StatementCancelHandler() to check the DoingCommandRead flag to decide
whether to execute an immediate interrupt, rather than testing whether
LockWaitCancel() cancelled a lock wait.  The old way misclassified the case
where we were blocked in ProcWaitForSignal(), and arguably would misclassify
any other future additions of new ImmediateInterruptOK states too.  This
allows reverting the old kluge that gave LockWaitCancel() a return value,
since no callers care anymore.  Improve comments in the various
implementations of PGSemaphoreLock() to explain that on some platforms, the
assumption that semop() exits after a signal is wrong, and so we must ensure
that the signal handler itself throws elog if we want cancel or die interrupts
to be effective.  Per testing related to bug #3883, though this patch doesn't
solve those problems fully.

Perhaps this change should be back-patched, but since pre-8.3 branches aren't
really relying on autovacuum to respond to SIGINT, it doesn't seem critical
for them.

16 years agoFix two different copy-and-paste-os in CSV log rotation logic; one that led to
Tom Lane [Fri, 25 Jan 2008 20:42:10 +0000 (20:42 +0000)]
Fix two different copy-and-paste-os in CSV log rotation logic; one that led to
a double-pfree crash and another that effectively disabled size-based rotation
for CSV logs.  Also suppress a memory leak and make some trivial cosmetic
improvements.  Per bug #3901 from Chris Hoover and additional code-reading.

16 years agoFix example of de-escaping bytea argument, per Florian Weimer. Also fix example
Andrew Dunstan [Fri, 25 Jan 2008 15:28:35 +0000 (15:28 +0000)]
Fix example of de-escaping bytea argument, per Florian Weimer. Also fix example
of escaping bytea return value. Both cases did not handle backslash values properly.

16 years agoRelease any detoasted copies of arrays that are made temporarily in
Tom Lane [Fri, 25 Jan 2008 04:46:07 +0000 (04:46 +0000)]
Release any detoasted copies of arrays that are made temporarily in
ri_FetchConstraintInfo, to avoid a query-duration memory leak when that
routine is called by RI_FKey_keyequal_upd_fk (which isn't executed in a
short-lived context).  This problem was latent when the routine was added
in February, but it didn't become serious until the varvarlena patch made
it quite likely that the fields being examined would be "toasted" (ie, have
short headers).  Per report from Stephen Denne.

16 years agoChange /contrib to contrib for consistency.
Peter Eisentraut [Thu, 24 Jan 2008 06:23:33 +0000 (06:23 +0000)]
Change /contrib to contrib for consistency.

16 years agoPrevent integer overflow within the integer-datetimes version of
Tom Lane [Wed, 23 Jan 2008 21:26:13 +0000 (21:26 +0000)]
Prevent integer overflow within the integer-datetimes version of
TimestampTzPlusMilliseconds.  An integer argument of more than INT_MAX/1000
milliseconds (ie, about 35 minutes) would provoke a wrong result, resulting
in incorrect enforcement of statement_timestamp values larger than that.
Bug was introduced in my rewrite of 2006-06-20, which fixed some other
overflow risks, but missed this one :-(  Per report from Elein.

16 years agoProvide a concrete example of parameter expansion in archive_command.
Tom Lane [Wed, 23 Jan 2008 20:21:37 +0000 (20:21 +0000)]
Provide a concrete example of parameter expansion in archive_command.
Per discussion of bug #3877.  Simon Riggs, some fixes by moi.

16 years agoAvoid mathematical inconsistency in example about avoiding division by
Tom Lane [Wed, 23 Jan 2008 19:51:29 +0000 (19:51 +0000)]
Avoid mathematical inconsistency in example about avoiding division by
zero with a CASE expression.  Per gripe from Russell Smith.

16 years agoImprove lock level choices in pg_shdepend.c. Noticed by Tom Lane.
Alvaro Herrera [Wed, 23 Jan 2008 15:36:38 +0000 (15:36 +0000)]
Improve lock level choices in pg_shdepend.c.  Noticed by Tom Lane.

16 years agoReference pgAdmin as a typical client-side tool, rather than the
Tom Lane [Wed, 23 Jan 2008 02:04:47 +0000 (02:04 +0000)]
Reference pgAdmin as a typical client-side tool, rather than the
no-longer-maintained PgAccess.  Per Erik Rijkers.

16 years agoDocument the fix for perl 5.10 with this comment:
Andrew Dunstan [Wed, 23 Jan 2008 00:55:47 +0000 (00:55 +0000)]
Document the fix for perl 5.10 with this comment:
 * The temporary enabling of the caller opcode here is to work around a
 * bug in perl 5.10, which unkindly changed the way its Safe.pm works, without
 * notice. It is quite safe, as caller is informational only, and in any case
 * we only enable it while we load the 'strict' module.

16 years agoWork around for perl 5.10 bug - fix due to perl hacker Simon Cozens.
Andrew Dunstan [Tue, 22 Jan 2008 20:17:37 +0000 (20:17 +0000)]
Work around for perl 5.10 bug - fix due to perl hacker Simon Cozens.

16 years agoProvide a clearer error message if the pg_control version number looks
Peter Eisentraut [Mon, 21 Jan 2008 11:17:46 +0000 (11:17 +0000)]
Provide a clearer error message if the pg_control version number looks
wrong because of mismatched byte ordering.

16 years agoImprove description of bgwriter_lru_multiplier, per discussion.
Tom Lane [Mon, 21 Jan 2008 03:28:42 +0000 (03:28 +0000)]
Improve description of bgwriter_lru_multiplier, per discussion.

16 years agoFix RS_isRegis() to agree exactly with RS_compile()'s idea of what's a valid
Tom Lane [Mon, 21 Jan 2008 02:46:11 +0000 (02:46 +0000)]
Fix RS_isRegis() to agree exactly with RS_compile()'s idea of what's a valid
regis.  Correct the latter's oversight that a bracket-expression needs to be
terminated.  Reduce the ereports to elogs, since they are now not expected to
ever be hit (thus addressing Alvaro's original complaint).
In passing, const-ify the string argument to RS_compile.

16 years agoFix psql \h output for case of no parameters (ie, list all the known commands)
Tom Lane [Sun, 20 Jan 2008 21:13:55 +0000 (21:13 +0000)]
Fix psql \h output for case of no parameters (ie, list all the known commands)
to format properly for the actually needed column width, instead of having
a hard-wired assumption about the longest command name length.  Also make it
respond to the current screen width.  In passing, const-ify the constant
table.

16 years agoSplit error message.
Alvaro Herrera [Sun, 20 Jan 2008 17:50:41 +0000 (17:50 +0000)]
Split error message.

16 years agoMake pg_regress clean out the testtablespace directory only on Windows.
Tom Lane [Sat, 19 Jan 2008 17:43:42 +0000 (17:43 +0000)]
Make pg_regress clean out the testtablespace directory only on Windows.
On other platforms it's better to let the Makefile handle it, but we want
the regression tests to be invokable without make on Windows.  A batch
file would be a better solution, but no time for that before 8.3.
Per my discovery that this breaks testing under SELinux, and subsequent
discussion.

16 years agomust commit after autoconf ... and yes, I used the right autoconf REL8_3_RC2
Marc G. Fournier [Fri, 18 Jan 2008 04:47:32 +0000 (04:47 +0000)]
must commit after autoconf ... and yes, I used the right autoconf

16 years agoStamp release for 8.3RC2; configure will be stamped by packager.
Bruce Momjian [Fri, 18 Jan 2008 00:13:50 +0000 (00:13 +0000)]
Stamp release for 8.3RC2;  configure will be stamped by packager.

16 years agoInsert into getCopyDataMessage() the same logic that already existed in the
Tom Lane [Thu, 17 Jan 2008 21:21:50 +0000 (21:21 +0000)]
Insert into getCopyDataMessage() the same logic that already existed in the
main code path for enlarging libpq's input buffer in one swoop when needing to
read a long data message.  Without this, the code will double the buffer size,
read more data, notice it still hasn't got the whole message, and repeat till
it finally has a large enough buffer.  Which wastes a lot of data-moving
effort and also memory (since malloc probably can't do anything very useful
with the freed-up smaller buffers).  Not sure why this wasn't there already;
certainly the COPY data path is a place where we're quite likely to see long
data messages.  I'm not backpatching though, since this is just a marginal
performance issue rather than a real bug.

16 years agoFix subselect.c to avoid assuming that a SubLink's testexpr references each
Tom Lane [Thu, 17 Jan 2008 20:35:27 +0000 (20:35 +0000)]
Fix subselect.c to avoid assuming that a SubLink's testexpr references each
subquery output column exactly once left-to-right.  Although this is the case
in the original parser output, it might not be so after rewriting and
constant-folding, as illustrated by bug #3882 from Jan Mate.  Instead
scan the subquery's target list to obtain needed per-column information;
this is duplicative of what the parser did, but only a couple dozen lines
need be copied, and we can clean up a couple of notational uglinesses.
Bug was introduced in 8.2 as part of revision of SubLink representation.

16 years agoFix ALTER INDEX RENAME so that if the index belongs to a unique or primary key
Tom Lane [Thu, 17 Jan 2008 18:56:54 +0000 (18:56 +0000)]
Fix ALTER INDEX RENAME so that if the index belongs to a unique or primary key
constraint, the constraint is renamed as well.  This avoids inconsistent
situations that could confuse pg_dump (not to mention humans).  We might at
some point provide ALTER TABLE RENAME CONSTRAINT as a more general solution,
but there seems no reason not to allow doing it this way too.  Per bug #3854
and related discussions.

16 years agoUpdate Japanese FAQ.
Bruce Momjian [Thu, 17 Jan 2008 18:53:20 +0000 (18:53 +0000)]
Update Japanese FAQ.

Jun Kuwamura

16 years agoTypo fix.
Magnus Hagander [Thu, 17 Jan 2008 14:34:45 +0000 (14:34 +0000)]
Typo fix.

Erik Rijkers

16 years agopgcrypto doc updates
Magnus Hagander [Thu, 17 Jan 2008 11:06:28 +0000 (11:06 +0000)]
pgcrypto doc updates

Marko Kreen

16 years agoDocument the fact that COPY always uses the client encoding.
Andrew Dunstan [Wed, 16 Jan 2008 22:07:04 +0000 (22:07 +0000)]
Document the fact that COPY always uses the client encoding.

16 years agoRemove inappropriate cd commands, per David Wheeler. Also make
Tom Lane [Wed, 16 Jan 2008 21:00:25 +0000 (21:00 +0000)]
Remove inappropriate cd commands, per David Wheeler.  Also make
the PATH responsive to the installation prefix, which was the apparent
intent of the previous edit, but not well executed.

16 years agoImprove usage message for pgindent.
Bruce Momjian [Wed, 16 Jan 2008 20:13:44 +0000 (20:13 +0000)]
Improve usage message for pgindent.

16 years agoFix core dump with buffer-overrun by too long infinitive. Add checking of using
Teodor Sigaev [Wed, 16 Jan 2008 13:01:03 +0000 (13:01 +0000)]
Fix core dump with buffer-overrun by too long infinitive. Add checking of using
fixed length arrays to prevent array's overrun. Per report by
Hannes Dorbath <light@theendofthetunnel.de> and comments by Tom.

16 years agoBe less wishy-washy in the documentation and comments about whether a
Tom Lane [Tue, 15 Jan 2008 22:18:20 +0000 (22:18 +0000)]
Be less wishy-washy in the documentation and comments about whether a
ParameterStatus message can be sent during COPY OUT: it's definitely
possible, since COPY from a SELECT subquery can trigger any user-defined
function.

16 years agoPrevent CLUSTER from decreasing a relation's relfrozenxid. Bug
Tom Lane [Tue, 15 Jan 2008 21:20:28 +0000 (21:20 +0000)]
Prevent CLUSTER from decreasing a relation's relfrozenxid.  Bug
introduced in rewrite to make CLUSTER MVCC-safe.

16 years agoRevise memory management for libxml calls. Instead of keeping libxml's data
Tom Lane [Tue, 15 Jan 2008 18:57:00 +0000 (18:57 +0000)]
Revise memory management for libxml calls.  Instead of keeping libxml's data
in whichever context happens to be current during a call of an xml.c function,
use a dedicated context that will not go away until we explicitly delete it
(which we do at transaction end or subtransaction abort).  This makes recovery
after an error much simpler --- we don't have to individually delete the data
structures created by libxml.  Also, we need to initialize and cleanup libxml
only once per transaction (if there's no error) instead of once per function
call, so it should be a bit faster.  We'll need to keep an eye out for
intra-transaction memory leaks, though.  Alvaro and Tom.

16 years agoTweak new error message to conform to style guidelines.
Tom Lane [Tue, 15 Jan 2008 18:22:47 +0000 (18:22 +0000)]
Tweak new error message to conform to style guidelines.

16 years agoAdd check of headline method presence. Per report by Yoshiyuki Asaba <y-asaba@sraoss...
Teodor Sigaev [Tue, 15 Jan 2008 17:16:01 +0000 (17:16 +0000)]
Add check of headline method presence. Per report by Yoshiyuki Asaba <y-asaba@sraoss.co.jp>

16 years agoRe-enabled variables in fetch/move command.
Michael Meskes [Tue, 15 Jan 2008 10:31:47 +0000 (10:31 +0000)]
Re-enabled variables in fetch/move command.

16 years agoSomebody forgot to add this ERRCODE everywhere it should go ...
Tom Lane [Tue, 15 Jan 2008 01:36:53 +0000 (01:36 +0000)]
Somebody forgot to add this ERRCODE everywhere it should go ...

16 years agoAdd:
Bruce Momjian [Mon, 14 Jan 2008 22:14:30 +0000 (22:14 +0000)]
Add:

>
> * Add the ability to automatically create materialized views
>
>   Right now materialized views require the user to create triggers on the
>   main table to keep the summary table current.  SQL syntax should be able
>   to manager the triggers and summary table automatically.  A more
>   sophisticated implementation would automatically retrieve from the
>   summary table when the main table is referenced, if possible.
>

16 years agoMost recent Postgres version is 8.2.6, per report from Robert Treat.
Bruce Momjian [Mon, 14 Jan 2008 20:39:30 +0000 (20:39 +0000)]
Most recent Postgres version is 8.2.6, per report from Robert Treat.

16 years agoPrevent pg_dump from dumping the comment (if any) on the 'public' schema.
Tom Lane [Mon, 14 Jan 2008 19:27:41 +0000 (19:27 +0000)]
Prevent pg_dump from dumping the comment (if any) on the 'public' schema.
This is to avoid uselessly requiring superuser permissions to restore
the dump without errors.  Pretty grotty, but no better alternative seems
available, at least not in the near term.

16 years agoAvoid cluttering the postmaster log with bogus complaints
Tom Lane [Mon, 14 Jan 2008 19:18:53 +0000 (19:18 +0000)]
Avoid cluttering the postmaster log with bogus complaints
during transaction abort, per my note from a couple days ago.

16 years agoFix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
Tom Lane [Mon, 14 Jan 2008 18:46:17 +0000 (18:46 +0000)]
Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
we need to be able to swallow NOTICE messages, and potentially also
ParameterStatus messages (although the latter would be a bit weird),
without exiting COPY OUT state.  Fix it, and adjust the protocol documentation
to emphasize the need for this.  Per off-list report from Alexander Galler.

16 years agoMark autovacuum entries in pg_stat_activity so that they can be easily
Alvaro Herrera [Mon, 14 Jan 2008 13:39:25 +0000 (13:39 +0000)]
Mark autovacuum entries in pg_stat_activity so that they can be easily
distinguished from user-invoked commands.  Per suggestion from Tom Lane.

16 years agoSet valid return values even in case of an error to prevent segfaults.
Michael Meskes [Mon, 14 Jan 2008 09:43:42 +0000 (09:43 +0000)]
Set valid return values even in case of an error to prevent segfaults.

16 years agoFix pgstat_heap() to not be broken by syncscans starting from a block
Tom Lane [Mon, 14 Jan 2008 02:53:31 +0000 (02:53 +0000)]
Fix pgstat_heap() to not be broken by syncscans starting from a block
higher than zero.  Same problem as just detected in CREATE INDEX
CONCURRENTLY.

16 years agoUse an indexscan not a heapscan to search pg_index in get_pkey_attnames.
Tom Lane [Mon, 14 Jan 2008 02:49:47 +0000 (02:49 +0000)]
Use an indexscan not a heapscan to search pg_index in get_pkey_attnames.
Noted while looking for heapscans that might need to start from block
zero.

16 years agoFix CREATE INDEX CONCURRENTLY so that it won't use synchronized scan for
Tom Lane [Mon, 14 Jan 2008 01:39:09 +0000 (01:39 +0000)]
Fix CREATE INDEX CONCURRENTLY so that it won't use synchronized scan for
its second pass over the table.  It has to start at block zero, else the
"merge join" logic for detecting which TIDs are already in the index
doesn't work.  Hence, extend heapam.c's API so that callers can enable or
disable syncscan.  (I put in an option to disable buffer access strategy,
too, just in case somebody needs it.)  Per report from Hannes Dorbath.

16 years agoFix a regression test that fails if default_text_search_config isn't
Tom Lane [Sun, 13 Jan 2008 21:17:46 +0000 (21:17 +0000)]
Fix a regression test that fails if default_text_search_config isn't
'english'.

16 years agoAdd note pointing out that read-only commands no longer consume
Tom Lane [Sun, 13 Jan 2008 17:58:54 +0000 (17:58 +0000)]
Add note pointing out that read-only commands no longer consume
command IDs.

16 years agoChanged prototype for ECPGdo because some compilers don't like int/enum aliasing...
Michael Meskes [Sun, 13 Jan 2008 11:53:16 +0000 (11:53 +0000)]
Changed prototype for ECPGdo because some compilers don't like int/enum aliasing in there.

16 years agoUpdate documentation for tsvector duplicate elimination:
Bruce Momjian [Sat, 12 Jan 2008 21:51:36 +0000 (21:51 +0000)]
Update documentation for tsvector duplicate elimination:

!      Duplicate positions for the same lexeme are discarded.

16 years agoIt turns out the LIBXML_TEST_VERSION macro calls xmlInitParser().
Tom Lane [Sat, 12 Jan 2008 21:14:08 +0000 (21:14 +0000)]
It turns out the LIBXML_TEST_VERSION macro calls xmlInitParser().
Therefore we must xmlCleanupParser(), or we risk leaving behind
dangling pointers to whatever memory context is current when xml_init()
is called.  This seems to fix bug #3860, though we might still want
the more invasive solution being worked on by Alvaro.

16 years agoFix two places in xml.c that neglected to check the return values of
Neil Conway [Sat, 12 Jan 2008 10:50:03 +0000 (10:50 +0000)]
Fix two places in xml.c that neglected to check the return values of
SPI_prepare() and SPI_cursor_open(), to silence a Coverity warning.

16 years agoMinor perf tweak for _SPI_strdup(): if we're going to call strlen()
Neil Conway [Sat, 12 Jan 2008 10:38:32 +0000 (10:38 +0000)]
Minor perf tweak for _SPI_strdup(): if we're going to call strlen()
anyway, it is faster to memcpy() than to strcpy().

16 years agoFix logical errors in constraint exclusion: we cannot assume that a CHECK
Tom Lane [Sat, 12 Jan 2008 00:11:39 +0000 (00:11 +0000)]
Fix logical errors in constraint exclusion: we cannot assume that a CHECK
constraint yields TRUE for every row of its table, only that it does not
yield FALSE (a NULL result isn't disallowed).  This breaks a couple of
implications that would be true in two-valued logic.  I had put in one such
mistake in an 8.2.5 patch: foo IS NULL doesn't refute a strict operator
on foo.  But there was another in the original 8.2 release: NOT foo doesn't
refute an expression whose truth would imply the truth of foo.
Per report from Rajesh Kumar Mallah.

To preserve the ability to do constraint exclusion with one partition
holding NULL values, extend relation_excluded_by_constraints() to check
for attnotnull flags, and add col IS NOT NULL expressions to the set of
constraints we hope to refute.

16 years agoThe original implementation of polymorphic aggregates didn't really get the
Tom Lane [Fri, 11 Jan 2008 18:39:41 +0000 (18:39 +0000)]
The original implementation of polymorphic aggregates didn't really get the
checking of argument compatibility right; although the problem is only exposed
with multiple-input aggregates in which some arguments are polymorphic and
some are not.  Per bug #3852 from Sokolov Yura.

16 years agoFix an old error in clause_selectivity: the default selectivity estimate
Tom Lane [Fri, 11 Jan 2008 17:00:45 +0000 (17:00 +0000)]
Fix an old error in clause_selectivity: the default selectivity estimate
for unhandled clause types ought to be 0.5, not 1.0.  I fear I introduced
this silliness due to misreading the intent of the very-poorly-structured
code that was there when we inherited the file from Berkeley.  The lack
of sanity in this behavior was exposed by an example from Sim Zacks.
(Arguably this is a bug fix and should be back-patched, but I'm a bit
hesitant to introduce a possible planner behavior change in the back
branches; it might detune queries that worked acceptably in the past.)

While at it, make estimation for DistinctExpr do something marginally
realistic, rather than just defaulting.