]> granicus.if.org Git - postgresql/log
postgresql
17 years agoNew async/sync multi-master headings for docs.
Bruce Momjian [Wed, 22 Nov 2006 04:01:40 +0000 (04:01 +0000)]
New async/sync multi-master headings for docs.

17 years agoNew async/sync multi-master headings for docs.
Bruce Momjian [Wed, 22 Nov 2006 04:00:19 +0000 (04:00 +0000)]
New async/sync multi-master headings for docs.

17 years agoAdd mention of shared-memory/disk for multi-master clustering.
Bruce Momjian [Wed, 22 Nov 2006 03:44:52 +0000 (03:44 +0000)]
Add mention of shared-memory/disk for multi-master clustering.

17 years agoGet rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF in
Tom Lane [Tue, 21 Nov 2006 23:26:47 +0000 (23:26 +0000)]
Get rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF in
some of the Windows-only makefiles; the correct place to assert these
things is pg_config.h.win32.  Per bug #2677.

17 years agoTranslate Windows' GMT Standard Time/GMT Daylight Time zones to
Tom Lane [Tue, 21 Nov 2006 23:11:55 +0000 (23:11 +0000)]
Translate Windows' GMT Standard Time/GMT Daylight Time zones to
zic's Europe/London, rather than Europe/Dublin as before.  This seems
a less surprising choice, particularly with respect to dates before
1948.  Original suggestion was to translate to straight GMT, but this
seems wrong given that these zones *are* DST-aware.  Per offlist
discussion with Magnus.

17 years agoHA doc wording improvement.
Bruce Momjian [Tue, 21 Nov 2006 22:48:33 +0000 (22:48 +0000)]
HA doc wording improvement.

17 years agoPrevent intratransaction memory leak when a subtransaction is aborted
Tom Lane [Tue, 21 Nov 2006 22:35:29 +0000 (22:35 +0000)]
Prevent intratransaction memory leak when a subtransaction is aborted
in the middle of executing a SPI query.  This doesn't entirely fix the
problem of memory leakage in plpgsql exception handling, but it should
get rid of the lion's share of leakage.

17 years agoSuppress timezone (%Z) part of timestamp display when running on Windows,
Tom Lane [Tue, 21 Nov 2006 22:19:46 +0000 (22:19 +0000)]
Suppress timezone (%Z) part of timestamp display when running on Windows,
because on that platform strftime produces localized zone names in varying
encodings.  Even though it's only in a comment, this can cause encoding
errors when reloading the dump script.  Per suggestion from Andreas
Seltenreich.  Also, suppress %Z on Windows in the %s escape of
log_line_prefix ... not sure why this one is different from the other two,
but it shouldn't be.

17 years agoFix plpython to work (or at least pass its regression tests) with
Tom Lane [Tue, 21 Nov 2006 21:51:05 +0000 (21:51 +0000)]
Fix plpython to work (or at least pass its regression tests) with
python 2.5.  This involves fixing several violations of the published
spec for creating PyTypeObjects, and adding another regression test
expected output for yet another variation of error message spelling.

17 years agoMention pgpool-II can do Clustering For Parallel Query Execution.
Bruce Momjian [Tue, 21 Nov 2006 21:37:33 +0000 (21:37 +0000)]
Mention pgpool-II can do Clustering For Parallel Query Execution.

17 years agoOn systems that have setsid(2) (which should be just about everything except
Tom Lane [Tue, 21 Nov 2006 20:59:53 +0000 (20:59 +0000)]
On systems that have setsid(2) (which should be just about everything except
Windows), arrange for each postmaster child process to be its own process
group leader, and deliver signals SIGINT, SIGTERM, SIGQUIT to the whole
process group not only the direct child process.  This provides saner behavior
for archive and recovery scripts; in particular, it's possible to shut down a
warm-standby recovery server using "pg_ctl stop -m immediate", since delivery
of SIGQUIT to the startup subprocess will result in killing the waiting
recovery_command.  Also, this makes Query Cancel and statement_timeout apply
to scripts being run from backends via system().  (There is no support in the
core backend for that, but it's widely done using untrusted PLs.)  Per gripe
from Stephen Harris and subsequent discussion.

17 years agoUpdate Statement-Based Replication Middleware docs to be more general.
Bruce Momjian [Tue, 21 Nov 2006 18:31:57 +0000 (18:31 +0000)]
Update Statement-Based Replication Middleware docs to be more general.

17 years agoFix type in return value
Teodor Sigaev [Tue, 21 Nov 2006 18:31:28 +0000 (18:31 +0000)]
Fix type in return value

17 years agoIn HA/load balancing does:
Bruce Momjian [Tue, 21 Nov 2006 18:15:45 +0000 (18:15 +0000)]
In HA/load balancing does:

Clarify sync/async replication propogation delay issues.
Add SGML comment about Oracle RAC and remove doc mention.
Add item about Multi-master replication with conflict resolution.

17 years agoVC build patch from Magnus:
Neil Conway [Tue, 21 Nov 2006 17:54:26 +0000 (17:54 +0000)]
VC build patch from Magnus:

Typo in the changes to plperl - uses wrong dir, and had a missing slash.

Also fixes error checking for xsubpp - it was broken in a way that hid
the problem above when run more than once (which is the normal case when
developing).

17 years agoMove libpq environment reference in psql documentation to a more
Bruce Momjian [Tue, 21 Nov 2006 17:01:58 +0000 (17:01 +0000)]
Move libpq environment reference in psql documentation to a more
appropriate place, per Andrew Dunstan.

17 years agoremove duplicate declaration, per report from Magnus Hagander.
Andrew Dunstan [Tue, 21 Nov 2006 16:59:02 +0000 (16:59 +0000)]
remove duplicate declaration, per report from Magnus Hagander.

17 years agoIf SSL negotiation fails and SSLMODE is 'prefer', then retry without SSL.
Tom Lane [Tue, 21 Nov 2006 16:28:00 +0000 (16:28 +0000)]
If SSL negotiation fails and SSLMODE is 'prefer', then retry without SSL.
Negotiation failure is only likely to happen if one side or the other is
misconfigured, eg. bad client certificate.  I'm not 100% convinced that
a retry is really the best thing, hence not back-patching this fix for now.
Per gripe from Sergio Cinos.

17 years agoAdd capitalization mention.
Bruce Momjian [Tue, 21 Nov 2006 15:38:09 +0000 (15:38 +0000)]
Add capitalization mention.

17 years agoI noticed that the Partitioning section of the docs has *two* sections
Bruce Momjian [Tue, 21 Nov 2006 03:44:55 +0000 (03:44 +0000)]
I noticed that the Partitioning section of the docs has *two* sections
of caveats in different places, but close together. One called caveats,
one not. That looks like it just led to somebody not reading some
appropriate caveats in the second group of caveats (on -admin).

Simon Riggs

17 years agoChange the default setting for log_min_error_statement to ERROR. Per
Tom Lane [Tue, 21 Nov 2006 01:23:37 +0000 (01:23 +0000)]
Change the default setting for log_min_error_statement to ERROR.  Per
recent discussion in which majority opinion was that this is a more
widely useful setting than the previous default of PANIC.

17 years agoAdjust elog.c so that elog(FATAL) exits (including cases where ERROR is
Tom Lane [Tue, 21 Nov 2006 00:49:55 +0000 (00:49 +0000)]
Adjust elog.c so that elog(FATAL) exits (including cases where ERROR is
promoted to FATAL) end in exit(1) not exit(0).  Then change the postmaster to
allow exit(1) without a system-wide panic, but not for the startup subprocess
or the bgwriter.  There were a couple of places that were using exit(1) to
deliberately force a system-wide panic; adjust these to be exit(2) instead.
This fixes the problem noted back in July that if the startup process exits
with elog(ERROR), the postmaster would think everything is hunky-dory and
proceed to start up.  Alternative solutions such as trying to run the entire
startup process as a critical section seem less clean, primarily because of
the fact that a fair amount of startup code is shared by all postmaster
children in the EXEC_BACKEND case.  We'd need an ugly special case somewhere
near the head of main.c to make it work if it's the child process's
responsibility to determine what happens; and what's the point when the
postmaster already treats different children differently?

17 years agoRetitle documentation section, "Statement-Based Replication Using Middleware".
Bruce Momjian [Mon, 20 Nov 2006 22:07:56 +0000 (22:07 +0000)]
Retitle documentation section, "Statement-Based Replication Using Middleware".

17 years agoAdd mention that Shared Disk Failover can use file system mirroring of
Bruce Momjian [Mon, 20 Nov 2006 21:26:22 +0000 (21:26 +0000)]
Add mention that Shared Disk Failover can use file system mirroring of
the mirroring is consistent.

17 years agoUpdate Brazilian FAQ.
Bruce Momjian [Mon, 20 Nov 2006 20:58:40 +0000 (20:58 +0000)]
Update Brazilian FAQ.

 Euler Taveira de Oliveira

17 years agoFor to_char() day/month abbrevitions, mention "3 chars in English,
Bruce Momjian [Mon, 20 Nov 2006 20:20:18 +0000 (20:20 +0000)]
For to_char() day/month abbrevitions, mention "3 chars in English,
localized lengths vary".

17 years agoOur MingW FAQ appears to be seriously out of date. Couple of fixes: we
Bruce Momjian [Mon, 20 Nov 2006 19:31:27 +0000 (19:31 +0000)]
Our MingW FAQ appears to be seriously out of date. Couple of fixes: we
want to direct MSI downloads to main download site, NT4 not supported
anymore, msvc build env in progress, pgsql-hackers-win32 is no more.

Magnus Hagander

17 years agoMore MSVC build fixes:
Tom Lane [Mon, 20 Nov 2006 19:18:02 +0000 (19:18 +0000)]
More MSVC build fixes:

* New versions of OpenSSL come with proper debug versions, and use
suffixed names on the LIBs for that. Adapts library handling to deal
with that.

* Fixes error where it incorrectly enabled Kerberos based on NLS
configuration instead of Kerberos configuration

* Specifies path of perl in config, instead of using current one.
Required when using a 64-bit perl normally, but want to build pl/perl
against 32-bit one (required)

* Fix so pgevent generates win32ver.rc automatically

Magnus Hagander

17 years agoOverhaul the "External Projects" chapter in the manual. Replace
Neil Conway [Mon, 20 Nov 2006 17:42:16 +0000 (17:42 +0000)]
Overhaul the "External Projects" chapter in the manual. Replace
the variabelist with a more concise table, add a URL for each project,
remove some orphaned projects, add PL/Py, and various other changes.
Initial patch from Robert Treat, subsequent work by Neil Conway.

17 years agoUpdate documentation to use Statement-Based Replication rather than
Bruce Momjian [Mon, 20 Nov 2006 15:07:13 +0000 (15:07 +0000)]
Update documentation to use Statement-Based Replication rather than
Query Broadcast.

17 years agoFix bug http://archives.postgresql.org/pgsql-bugs/2006-10/msg00258.php.
Teodor Sigaev [Mon, 20 Nov 2006 14:03:30 +0000 (14:03 +0000)]
Fix bug http://archives.postgresql.org/pgsql-bugs/2006-10/msg00258.php.
Fix string's length calculation for recoding, fix strlower() to avoid wrong
assumption about length of recoded string (was: recoded string is no greater
that source, it may not true for multibyte encodings)
Thanks to Thomas H. <me@alternize.com> and Magnus Hagander <mha@sollentuna.net>

17 years agoWhen truncating a relation in-place (eg during VACUUM), do not try to unlink
Tom Lane [Mon, 20 Nov 2006 01:07:56 +0000 (01:07 +0000)]
When truncating a relation in-place (eg during VACUUM), do not try to unlink
any no-longer-needed segments; just truncate them to zero bytes and leave
the files in place for possible future re-use.  This avoids problems when
the segments are re-used due to relation growth shortly after truncation.
Before, the bgwriter, and possibly other backends, could still be holding
open file references to the old segment files, and would write dirty blocks
into those files where they'd disappear from the view of other processes.

Back-patch as far as 8.0.  I believe the 7.x branches are not vulnerable,
because they had no bgwriter, and "blind" writes by other backends would
always be done via freshly-opened file references.

17 years agoRepair problems with hash indexes that span multiple segments: the hash code's
Tom Lane [Sun, 19 Nov 2006 21:33:23 +0000 (21:33 +0000)]
Repair problems with hash indexes that span multiple segments: the hash code's
preference for filling pages out-of-order tends to confuse the sanity checks
in md.c, as per report from Balazs Nagy in bug #2737.  The fix is to ensure
that the smgr-level code always has the same idea of the logical EOF as the
hash index code does, by using ReadBuffer(P_NEW) where we are adding a single
page to the end of the index, and using smgrextend() to reserve a large batch
of pages when creating a new splitpoint.  The patch is a bit ugly because it
avoids making any changes in md.c, which seems the most prudent approach for a
backpatchable beta-period fix.  After 8.3 development opens, I'll take a look
at a cleaner but more invasive patch, in particular getting rid of the now
unnecessary hack to allow reading beyond EOF in mdread().

Backpatch as far as 7.4.  The bug likely exists in 7.3 as well, but because
of the magnitude of the 7.3-to-7.4 changes in hash, the later-version patch
doesn't even begin to apply.  Given the other known bugs in the 7.3-era hash
code, it does not seem worth trying to develop a separate patch for 7.3.

17 years agoClarify description of CIDR-address column of pg_hba.conf, to discourage
Tom Lane [Fri, 17 Nov 2006 23:25:17 +0000 (23:25 +0000)]
Clarify description of CIDR-address column of pg_hba.conf, to discourage
people from trying notations like '10.6/16', which is accepted but does
not mean what you probably think.  Per example from Paul Forgey.

17 years agoRepair two related errors in heap_lock_tuple: it was failing to recognize
Tom Lane [Fri, 17 Nov 2006 18:00:15 +0000 (18:00 +0000)]
Repair two related errors in heap_lock_tuple: it was failing to recognize
cases where we already hold the desired lock "indirectly", either via
membership in a MultiXact or because the lock was originally taken by a
different subtransaction of the current transaction.  These cases must be
accounted for to avoid needless deadlocks and/or inappropriate replacement of
an exclusive lock with a shared lock.  Per report from Clarence Gardner and
subsequent investigation.

17 years agoSmall message equalization fix
Peter Eisentraut [Fri, 17 Nov 2006 16:46:27 +0000 (16:46 +0000)]
Small message equalization fix

17 years agoRename replication section "High Availability and Load Balancing".
Bruce Momjian [Fri, 17 Nov 2006 16:38:44 +0000 (16:38 +0000)]
Rename replication section "High Availability and Load Balancing".

17 years agoData Partitioning documentation section reduced and moved to the end.
Bruce Momjian [Fri, 17 Nov 2006 13:29:53 +0000 (13:29 +0000)]
Data Partitioning documentation section reduced and moved to the end.

17 years agoFix a typo.
Neil Conway [Fri, 17 Nov 2006 09:00:03 +0000 (09:00 +0000)]
Fix a typo.

17 years agoFixed small typo, missing 'l' in 'Cluserting'
Michael Meskes [Fri, 17 Nov 2006 08:46:53 +0000 (08:46 +0000)]
Fixed small typo, missing 'l' in 'Cluserting'

17 years agoRemove a bunch of antique information from the appendix in the docs
Neil Conway [Fri, 17 Nov 2006 05:29:46 +0000 (05:29 +0000)]
Remove a bunch of antique information from the appendix in the docs
that discusses CVS. Remove the recommendation to use cvs 1.10. Remove
discussion of alleged CVSup binaries on postgresql.org, because they
have not existed for several years. Remove discussion of how to
build cvsup from source because the existing text is outdated, and
more accurate information is available from the CVSup homepage.

17 years agoUse more standard terms for replication, ideas from Markus Schiltknecht.
Bruce Momjian [Fri, 17 Nov 2006 04:52:46 +0000 (04:52 +0000)]
Use more standard terms for replication, ideas from Markus Schiltknecht.

17 years agoMention two-phase commit for having all transactions commit on all servers.
Bruce Momjian [Thu, 16 Nov 2006 21:45:25 +0000 (21:45 +0000)]
Mention two-phase commit for having all transactions commit on all servers.

17 years agoReconfigure failover/replication doc items to be varlist entries, rather
Bruce Momjian [Thu, 16 Nov 2006 21:43:33 +0000 (21:43 +0000)]
Reconfigure failover/replication doc items to be varlist entries, rather
than new sections, so they appear all on the same web page.

17 years agoClarify replication items, and define some terms.
Bruce Momjian [Thu, 16 Nov 2006 18:25:58 +0000 (18:25 +0000)]
Clarify replication items, and define some terms.

17 years agoMessage fix
Peter Eisentraut [Thu, 16 Nov 2006 14:41:49 +0000 (14:41 +0000)]
Message fix

17 years agoString fix
Peter Eisentraut [Thu, 16 Nov 2006 14:28:41 +0000 (14:28 +0000)]
String fix

17 years agoImprove broadcast wording for failover/clustering documentation.
Bruce Momjian [Wed, 15 Nov 2006 01:09:08 +0000 (01:09 +0000)]
Improve broadcast wording for failover/clustering documentation.

17 years agoAdd URL for case identifiers.
Bruce Momjian [Tue, 14 Nov 2006 22:26:49 +0000 (22:26 +0000)]
Add URL for case identifiers.
<
>   http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php

17 years agoFix xrefs for failover changes.
Bruce Momjian [Tue, 14 Nov 2006 22:25:15 +0000 (22:25 +0000)]
Fix xrefs for failover changes.

17 years agoUpdate failover docs, per suggestions from Chris Browne.
Bruce Momjian [Tue, 14 Nov 2006 21:43:00 +0000 (21:43 +0000)]
Update failover docs, per suggestions from Chris Browne.

17 years agoFix URL for patch hold queue.
Bruce Momjian [Tue, 14 Nov 2006 04:18:55 +0000 (04:18 +0000)]
Fix URL for patch hold queue.

17 years agoForce plperl and plperlu to run in separate interpreters. Create an error
Andrew Dunstan [Mon, 13 Nov 2006 17:13:57 +0000 (17:13 +0000)]
Force plperl and plperlu to run in separate interpreters. Create an error
on an attempt to create the second interpreter if this is not supported by
the perl installation. Per recent -hackers discussion.

17 years agoFix some typos in comments.
Neil Conway [Sun, 12 Nov 2006 06:55:54 +0000 (06:55 +0000)]
Fix some typos in comments.

17 years agoDo a round of copy-editing for the system catalog chapter. In particular,
Neil Conway [Sun, 12 Nov 2006 06:25:37 +0000 (06:25 +0000)]
Do a round of copy-editing for the system catalog chapter. In particular,
consistently capitalize the content of the "Description" column but do
not include a terminating period, as is the convention elsewhere in the
docs. Also, remove the "References" column from catalog that do not
have any referencing columns, for the sake of brevity. Make various
other SGML and grammar fixes.

17 years agoMinor improvements to the description of archive_timeout.
Neil Conway [Sun, 12 Nov 2006 05:12:42 +0000 (05:12 +0000)]
Minor improvements to the description of archive_timeout.

17 years agoSuppress a few 'uninitialized variable' warnings that gcc emits only at
Tom Lane [Sat, 11 Nov 2006 01:14:19 +0000 (01:14 +0000)]
Suppress a few 'uninitialized variable' warnings that gcc emits only at
-O3 or higher (presumably because it inlines more things).  Per gripe
from Mark Mielke.

17 years agoFix pg_get_serial_sequence(), which could incorrectly return the name
Tom Lane [Fri, 10 Nov 2006 22:59:29 +0000 (22:59 +0000)]
Fix pg_get_serial_sequence(), which could incorrectly return the name
of an index on a serial column, rather than the name of the associated
sequence.  Fallout from recent changes in dependency setup for serials.
Per bug #2732 from Basil Evseenko.

17 years agoClean up some misleading references to %p being a full path, per Simon.
Tom Lane [Fri, 10 Nov 2006 22:32:20 +0000 (22:32 +0000)]
Clean up some misleading references to %p being a full path, per Simon.

17 years agoImprove formatting of PQexecParams argument descriptions, per
Tom Lane [Fri, 10 Nov 2006 22:15:26 +0000 (22:15 +0000)]
Improve formatting of PQexecParams argument descriptions, per
Theo Kramer.

17 years agoEmphasize that immutable and stable functions are not allowed to modify
Tom Lane [Fri, 10 Nov 2006 20:52:18 +0000 (20:52 +0000)]
Emphasize that immutable and stable functions are not allowed to modify
the database.  xfunc.sgml was already pretty definite on the point, but
it doesn't hurt to make it clear here too.

17 years agoFix errors in key_column_usage.position_in_unique_constraint column recently
Tom Lane [Fri, 10 Nov 2006 18:10:10 +0000 (18:10 +0000)]
Fix errors in key_column_usage.position_in_unique_constraint column recently
added to information_schema (per a SQL2003 addition).  The original coding
failed if a referenced column participated in more than one pg_constraint
entry.  Also, it did not work if an FK relied directly on a unique index
without any constraint syntactic sugar --- this case is outside the SQL spec,
but PG has always supported it, so it's reasonable for our information_schema
to handle it too.  Per bug#2750 from Stephen Haberman.

Although this patch changes the initial catalog contents, I didn't force
initdb.  Any beta3 testers who need the fix can install it via CREATE OR
REPLACE VIEW, so forcing them to initdb seems an unnecessary imposition.

17 years agoMinor code cleanup for pgcrypto: for UDFs declared to be strict, checking
Neil Conway [Fri, 10 Nov 2006 06:28:29 +0000 (06:28 +0000)]
Minor code cleanup for pgcrypto: for UDFs declared to be strict, checking
for NULL-ness of function arguments is wasted code.

17 years agoFix set_joinrel_size_estimates() to estimate outer-join sizes more
Tom Lane [Fri, 10 Nov 2006 01:21:41 +0000 (01:21 +0000)]
Fix set_joinrel_size_estimates() to estimate outer-join sizes more
accurately: we have to distinguish the effects of the join's own ON
clauses from the effects of pushed-down clauses.  Failing to do so
was a quick hack long ago, but it's time to be smarter.  Per example
from Thomas H.

17 years agoChange Windows rename and unlink substitutes so that they time out after
Tom Lane [Wed, 8 Nov 2006 20:12:05 +0000 (20:12 +0000)]
Change Windows rename and unlink substitutes so that they time out after
30 seconds instead of retrying forever.  Also modify xlog.c so that if
it fails to rename an old xlog segment up to a future slot, it will
unlink the segment instead.  Per discussion of bug #2712, in which it
became apparent that Windows can handle unlinking a file that's being
held open, but not renaming it.

17 years agoModify aset.c to track the next intended block allocation size explicitly.
Tom Lane [Wed, 8 Nov 2006 19:27:24 +0000 (19:27 +0000)]
Modify aset.c to track the next intended block allocation size explicitly.
The former coding relied on the actual allocated size of the last block,
which made it behave strangely if the first allocation in a context was
larger than ALLOC_CHUNK_LIMIT: subsequent allocations would be referenced
to that and not to the intended series of block sizes.  Noted while
studying a memory wastage gripe from Tatsuo.

17 years agoTweak accumArrayResult() to double the size of its working arrays when
Tom Lane [Wed, 8 Nov 2006 19:24:38 +0000 (19:24 +0000)]
Tweak accumArrayResult() to double the size of its working arrays when
more space is needed, instead of incrementing by a fixed amount; the old
method wastes lots of space and time when the ultimate size is large.
Per gripe from Tatsuo.

17 years agoFix performance issues in replace_text(), replace_text_regexp(), and
Tom Lane [Wed, 8 Nov 2006 19:22:25 +0000 (19:22 +0000)]
Fix performance issues in replace_text(), replace_text_regexp(), and
text_to_array(): they all had O(N^2) behavior on long input strings in
multibyte encodings, because of repeated rescanning of the input text to
identify substrings whose positions/lengths were computed in characters
instead of bytes.  Fix by tracking the current source position as a char
pointer as well as a character-count.  Also avoid some unnecessary palloc
operations.  text_to_array() also leaked memory intracall due to failure
to pfree temporary strings.  Per gripe from Tatsuo Ishii.

17 years agoFix two typos.
Neil Conway [Wed, 8 Nov 2006 19:06:15 +0000 (19:06 +0000)]
Fix two typos.

17 years agoNew README, forgotten when docs was updated
Teodor Sigaev [Wed, 8 Nov 2006 16:00:29 +0000 (16:00 +0000)]
New README, forgotten when docs was updated

17 years agoApplied patch by Peter Harris to free auto_mem structure on connect
Michael Meskes [Wed, 8 Nov 2006 10:46:47 +0000 (10:46 +0000)]
Applied patch by Peter Harris to free auto_mem structure on connect

17 years agoFix a memory leak in psql: we'd leak a few PGresult handles if
Neil Conway [Wed, 8 Nov 2006 01:22:55 +0000 (01:22 +0000)]
Fix a memory leak in psql: we'd leak a few PGresult handles if
a connectivity error occurred while executing one of the queries
for "\d <table>". Not serious, but still worth fixing. Patch from
Brendan Jurd.

17 years agoRemove a 15-year old comment questioning behavior that is now well-
Neil Conway [Wed, 8 Nov 2006 00:45:30 +0000 (00:45 +0000)]
Remove a 15-year old comment questioning behavior that is now well-
established: referencing an undefined parameter should result in an
error, not NULL.

17 years agoTag as Beta3 ... two outstanding *known* bugs before RC1 ... REL8_2_BETA3
PostgreSQL Daemon [Tue, 7 Nov 2006 17:59:05 +0000 (17:59 +0000)]
Tag as Beta3 ... two outstanding *known* bugs before RC1 ...

17 years agoRepair bug #2694 concerning an ARRAY[] construct whose inputs are empty
Tom Lane [Mon, 6 Nov 2006 18:21:31 +0000 (18:21 +0000)]
Repair bug #2694 concerning an ARRAY[] construct whose inputs are empty
sub-arrays.  Per discussion, if all inputs are empty arrays then result
must be an empty array too, whereas a mix of empty and nonempty arrays
should (and already did) draw an error.  In the back branches, the
construct was strict: any NULL input immediately yielded a NULL output;
so I left that behavior alone.  HEAD was simply ignoring NULL sub-arrays,
which doesn't seem very sensible.  For lack of a better idea it now
treats NULL sub-arrays the same as empty ones.

17 years agoRemove temporary Windows-specific debugging code; it seems the problem
Tom Lane [Mon, 6 Nov 2006 17:10:22 +0000 (17:10 +0000)]
Remove temporary Windows-specific debugging code; it seems the problem
with fopen() not using FILE_SHARE_DELETE was indeed the bug we were after,
given lack of recent reports.

17 years agoUpdate release notes in preparation for RC1.
Tom Lane [Mon, 6 Nov 2006 17:00:27 +0000 (17:00 +0000)]
Update release notes in preparation for RC1.

17 years agoRevert to the pre-8.2 method of probing for libm, that is, always
Tom Lane [Mon, 6 Nov 2006 03:44:38 +0000 (03:44 +0000)]
Revert to the pre-8.2 method of probing for libm, that is, always
include it if it links properly.  It seems too risky to assume that
standard functions like pow() are not special-cased by the compiler.
Per report from Andreas Lange that build fails on Solaris cc compiler
with -fast.  Even though we don't consider that a supported option,
I'm worried that similar issues will arise with other compilers.

17 years agoGet rid of some unnecessary dependencies on DataDir: wherever possible,
Tom Lane [Mon, 6 Nov 2006 03:06:41 +0000 (03:06 +0000)]
Get rid of some unnecessary dependencies on DataDir: wherever possible,
the backend should rely on its working-directory setting instead.
Also do some message-style police work in contrib/adminpack.

17 years agoMinor fix for LDAP authentication: if an error occurs, we need to
Neil Conway [Mon, 6 Nov 2006 01:27:52 +0000 (01:27 +0000)]
Minor fix for LDAP authentication: if an error occurs, we need to
manually release the LDAP handle via ldap_unbind(). This isn't a
significant problem in practice because an error eventually results
in exiting the process, but we can cleanup correctly without too
much pain.

In passing, fix an error in snprintf() usage: the "size" parameter
to snprintf() is the size of the destination buffer, including space
for the NUL terminator. Also, depending on the value of NAMEDATALEN,
the old coding could have allowed for a buffer overflow.

17 years agoFix recently-identified PITR recovery hazard: the base backup could contain
Tom Lane [Sun, 5 Nov 2006 23:40:31 +0000 (23:40 +0000)]
Fix recently-identified PITR recovery hazard: the base backup could contain
stale relcache init files (pg_internal.init), and there is no mechanism for
updating them during WAL replay.  Easiest solution is just to delete the init
files at conclusion of startup, and let the first backend started in each
database take care of rebuilding the init file.  Simon Riggs and Tom Lane.

Back-patched to 8.1.  Arguably this should be fixed in 8.0 too, but it would
require significantly more code since 8.0 has no handy startup-time scan of
pg_database to piggyback on.  Manual solution of the problem is possible
in 8.0 (just delete the pg_internal.init files before starting WAL replay),
so that may be a sufficient answer.

17 years agoFix recently-understood problems with handling of XID freezing, particularly
Tom Lane [Sun, 5 Nov 2006 22:42:10 +0000 (22:42 +0000)]
Fix recently-understood problems with handling of XID freezing, particularly
in PITR scenarios.  We now WAL-log the replacement of old XIDs with
FrozenTransactionId, so that such replacement is guaranteed to propagate to
PITR slave databases.  Also, rather than relying on hint-bit updates to be
preserved, pg_clog is not truncated until all instances of an XID are known to
have been replaced by FrozenTransactionId.  Add new GUC variables and
pg_autovacuum columns to allow management of the freezing policy, so that
users can trade off the size of pg_clog against the amount of freezing work
done.  Revise the already-existing code that forces autovacuum of tables
approaching the wraparound point to make it more bulletproof; also, revise the
autovacuum logic so that anti-wraparound vacuuming is done per-table rather
than per-database.  initdb forced because of changes in pg_class, pg_database,
and pg_autovacuum catalogs.  Heikki Linnakangas, Simon Riggs, and Tom Lane.

18 years agoAdd note about space usage of 'manual' approach to clustering, per
Tom Lane [Sat, 4 Nov 2006 19:03:51 +0000 (19:03 +0000)]
Add note about space usage of 'manual' approach to clustering, per
suggestion from Sergey Koposov.  Also some other minor editing.

18 years agoCorrect documentation error: in 8.1 and 8.2, %p in archive and restore
Tom Lane [Sat, 4 Nov 2006 18:20:27 +0000 (18:20 +0000)]
Correct documentation error: in 8.1 and 8.2, %p in archive and restore
command strings inserts relative not absolute path of file to process.
This is a side-effect of 2005-07-04 change that makes the server use
relative paths in general.  Noted by Bernd Helmle.

18 years agoMention 'void' as the proper return type when there's nothing to
Tom Lane [Fri, 3 Nov 2006 07:17:36 +0000 (07:17 +0000)]
Mention 'void' as the proper return type when there's nothing to
return, per suggestion from Joachim Wieland.

18 years agoFix "failed to re-find parent key" btree VACUUM failure by revising page
Tom Lane [Wed, 1 Nov 2006 19:43:17 +0000 (19:43 +0000)]
Fix "failed to re-find parent key" btree VACUUM failure by revising page
deletion code to avoid the case where an upper-level btree page remains "half
dead" for a significant period of time, and to block insertions into a key
range that is in process of being re-assigned to the right sibling of the
deleted page's parent.  This prevents the scenario reported by Ed L. wherein
index keys could become out-of-order in the grandparent index level.

Since this is a moderately invasive fix, I'm applying it only to HEAD.
The bug exists back to 7.4, but the back branches will get a different patch.

18 years agopg_restore failed on tar-format archives if they contained large objects
Tom Lane [Wed, 1 Nov 2006 15:59:26 +0000 (15:59 +0000)]
pg_restore failed on tar-format archives if they contained large objects
(blobs) with comments, per bug #2727 from Konstantin Pelepelin.
Mea culpa for not having tested this case.
Back-patch to 8.1; prior branches don't dump blob comments at all.

18 years agoUpdate zic database to tzdata2006n.
Tom Lane [Wed, 1 Nov 2006 05:20:38 +0000 (05:20 +0000)]
Update zic database to tzdata2006n.

18 years agoAdd description of new features
Teodor Sigaev [Tue, 31 Oct 2006 16:23:05 +0000 (16:23 +0000)]
Add description of new features

18 years agoFix misstatement about the results of using -1 with BEGIN.
Tom Lane [Tue, 31 Oct 2006 02:29:15 +0000 (02:29 +0000)]
Fix misstatement about the results of using -1 with BEGIN.

18 years agoAdd text to the VACUUM, REINDEX, DROP TABLESPACE and CREATE TABLESPACE
Neil Conway [Tue, 31 Oct 2006 01:52:31 +0000 (01:52 +0000)]
Add text to the VACUUM, REINDEX, DROP TABLESPACE and CREATE TABLESPACE
reference pages documenting that these commands cannot be used within
a transaction block. Also make some minor improvements to the psql
reference page. Patch from Simon Riggs, minor editorialization by
myself.

18 years agoCode the unknown options check without using m4 diversions. Otherwise this
Peter Eisentraut [Mon, 30 Oct 2006 22:15:04 +0000 (22:15 +0000)]
Code the unknown options check without using m4 diversions.  Otherwise this
code relies on the checking macro actually being called at the end, or the
automatic undiversion will produce garbage.  These sort of implicit
side-effects undermine the modularity of the macros and happen to break the
ODBC driver which makes use of them.

Also put the warnings at the very end of configure, so there is an even
better chance of seeing them.

18 years agoFix typo in backup docs. Patch from Euler Taveira de Oliveira.
Neil Conway [Mon, 30 Oct 2006 00:08:02 +0000 (00:08 +0000)]
Fix typo in backup docs. Patch from Euler Taveira de Oliveira.

18 years agoFix typo in docs.
Bruce Momjian [Fri, 27 Oct 2006 12:40:26 +0000 (12:40 +0000)]
Fix typo in docs.

18 years agoFix spelling mistake in docs.
Bruce Momjian [Thu, 26 Oct 2006 17:07:03 +0000 (17:07 +0000)]
Fix spelling mistake in docs.

18 years agoAdd missing file for documentation section on failover, replication,
Bruce Momjian [Thu, 26 Oct 2006 15:32:45 +0000 (15:32 +0000)]
Add missing file for documentation section on failover, replication,
load balancing, and clustering options.

18 years agoAdd documentation section on failover, replication, load balancing, and
Bruce Momjian [Thu, 26 Oct 2006 15:26:54 +0000 (15:26 +0000)]
Add documentation section on failover, replication, load balancing, and
clustering options.

18 years agoexpression_tree_walker failed to let walker function see the immediate child
Tom Lane [Wed, 25 Oct 2006 22:11:32 +0000 (22:11 +0000)]
expression_tree_walker failed to let walker function see the immediate child
node of a SubLink or SubPlan testexpr field.  Bug resulted from replacing
the old lefthand/exprs list fields with a simple expression field, and not
remembering that expression_tree_walker is coded to save a few cycles by
recursing directly to self on list fields (on the assumption the walker
isn't interested in List nodes per se).  On non-list fields it must of
course call the walker.  Possibly that hack isn't worth the risk of more
such bugs, but I'll leave it be for now.  Per bug report from James Robinson.

18 years agoFix check for whether a clauseless join has to be forced in the presence of
Tom Lane [Tue, 24 Oct 2006 17:50:22 +0000 (17:50 +0000)]
Fix check for whether a clauseless join has to be forced in the presence of
outer joins.  Originally it was only looking for overlap of the righthand
side of a left join, but we have to do it on the lefthand side too.
Per example from Jean-Pierre Pelletier.

18 years agoTweak zic.c to compile cleanly on MSVC: use CopyFile instead of
Tom Lane [Tue, 24 Oct 2006 15:11:03 +0000 (15:11 +0000)]
Tweak zic.c to compile cleanly on MSVC: use CopyFile instead of
CopyFileEx.  This avoids a warning about the function not being
present on older Windows versions.  Magnus Hagander