]> granicus.if.org Git - postgresql/log
postgresql
17 years agoDocument that chr(0) is not supported, and why.
Bruce Momjian [Mon, 3 Mar 2008 17:11:23 +0000 (17:11 +0000)]
Document that chr(0) is not supported, and why.

17 years agoFixed bug that caused arrays of varchar to be output with incomplete name.
Michael Meskes [Sun, 2 Mar 2008 10:57:21 +0000 (10:57 +0000)]
Fixed bug that caused arrays of varchar to be output with incomplete name.

17 years agoVenezuela Time now means UTC-4:30, not UTC-4:00. Adjust our treatment
Tom Lane [Sun, 2 Mar 2008 00:10:28 +0000 (00:10 +0000)]
Venezuela Time now means UTC-4:30, not UTC-4:00.  Adjust our treatment
of "VET" accordingly.  Per bug #3997 from Aaron Mizrachi.

17 years agoFix another place that was assuming that a local variable declared as
Tom Lane [Sat, 1 Mar 2008 19:26:28 +0000 (19:26 +0000)]
Fix another place that was assuming that a local variable declared as
"struct varlena" would be at least word-aligned.  Per buildfarm results
from gypsy_moth.  I did a little bit of trawling for other instances of
this coding pattern, and didn't find any; but if we turn up any more
of them I think we'd better revert the "char [4]" patch and find another
way of making tuptoaster.c alignment-safe.

17 years agoFix unportable usages of tolower(). On signed-char machines, it is necessary
Tom Lane [Sat, 1 Mar 2008 03:26:44 +0000 (03:26 +0000)]
Fix unportable usages of tolower().  On signed-char machines, it is necessary
to explicitly cast the output back to char before comparing it to a char
value, else we get the wrong result for high-bit-set characters.  Found by
Rolf Jentsch.  Also, fix several places where <ctype.h> functions were being
called without casting the argument to unsigned char; this is likewise
unportable, but we keep making that mistake :-(.  These found by buildfarm
member salamander, which I will desperately miss if it ever goes belly-up.

17 years agoDisable the undocumented xmlvalidate() function, which was unintentionally
Tom Lane [Sat, 1 Mar 2008 02:46:55 +0000 (02:46 +0000)]
Disable the undocumented xmlvalidate() function, which was unintentionally
left in the code though it was not meant to be provided.  It represents a
security hole because unprivileged users could use it to look at (at least the
first line of) any file readable by the backend.  Fortunately, this is only
possible if the backend was built with XML support, so the damage is at least
mitigated; and 8.3 probably hasn't propagated into any security-critical uses
yet anyway.  Per report from Sergey Burladyan.

17 years agoDon't call AddUserToDacl on Cygwin
Andrew Dunstan [Fri, 29 Feb 2008 23:31:42 +0000 (23:31 +0000)]
Don't call AddUserToDacl on Cygwin

17 years agoReducing the assumed alignment of struct varlena means that the compiler
Tom Lane [Fri, 29 Feb 2008 17:47:47 +0000 (17:47 +0000)]
Reducing the assumed alignment of struct varlena means that the compiler
is also licensed to put a local variable declared that way at an unaligned
address.  Which will not work if the variable is then manipulated with
SET_VARSIZE or other macros that assume alignment.  So the previous patch
is not an unalloyed good, but on balance I think it's still a win, since
we have very few places that do that sort of thing.  Fix the one place in
tuptoaster.c that does it.  Per buildfarm results from gypsy_moth
(I'm a bit surprised that only one machine showed a failure).

17 years agoFix handling of restricted processes for Windows Vista (mainly),
Magnus Hagander [Fri, 29 Feb 2008 15:31:41 +0000 (15:31 +0000)]
Fix handling of restricted processes for Windows Vista (mainly),
by explicitly adding back the user to the DACL of the new process.
This fixes the failure case when executing as the Administrator
user, which had no permissions left at all after we dropped the
Administrators group.

Dave Page with some modifications from me

17 years agoFix several memory leaks when rescanning SRFs. Arrange for an SRF's
Neil Conway [Fri, 29 Feb 2008 02:49:43 +0000 (02:49 +0000)]
Fix several memory leaks when rescanning SRFs. Arrange for an SRF's
"multi_call_ctx" to be a distinct sub-context of the EState's per-query
context, and delete the multi_call_ctx as soon as the SRF finishes
execution. This avoids leaking SRF memory until the end of the current
query, which is particularly egregious when the SRF is scanned
multiple times. This change also fixes a leak of the fields of the
AttInMetadata struct in shutdown_MultiFuncCall().

Also fix a leak of the SRF result TupleDesc when rescanning a
FunctionScan node. The TupleDesc is allocated in the per-query context
for every call to ExecMakeTableFunctionResult(), so we should free it
after calling that function. Since the SRF might choose to return
a non-expendable TupleDesc, we only free the TupleDesc if it is
not being reference-counted.

Backpatch to 8.3 and 8.2 stable branches.

17 years agoSupport for building contrib/uuid-ossp with MSVC.
Magnus Hagander [Thu, 28 Feb 2008 12:18:03 +0000 (12:18 +0000)]
Support for building contrib/uuid-ossp with MSVC.

Original patch from Hiroshi Saito, modified by me.

17 years agoIf RelationBuildDesc() fails to open a critical system index, PANIC with
Tom Lane [Wed, 27 Feb 2008 17:44:27 +0000 (17:44 +0000)]
If RelationBuildDesc() fails to open a critical system index, PANIC with
a relevant error message instead of just dumping core.  Odd that nobody
reported this before Darren Reed.

17 years agoFix uninstall target.
Peter Eisentraut [Tue, 26 Feb 2008 13:49:14 +0000 (13:49 +0000)]
Fix uninstall target.

17 years agoFix encode(...bytea..., 'escape') so that it converts all high-bit-set byte
Tom Lane [Tue, 26 Feb 2008 02:54:14 +0000 (02:54 +0000)]
Fix encode(...bytea..., 'escape') so that it converts all high-bit-set byte
values into \nnn octal escape sequences.  When the database encoding is
multibyte this is *necessary* to avoid generating invalidly encoded text.
Even in a single-byte encoding, the old behavior seems very hazardous ---
consider for example what happens if the text is transferred to another
database with a different encoding.  Decoding would then yield some other
bytea value than what was encoded, which is surely undesirable.  Per gripe
from Hernan Gonzalez.

Backpatch to 8.3, but not further.  This is a bit of a judgment call, but I
make it on these grounds: pre-8.3 we don't really have much encoding safety
anyway because of the convert() function family, and we would also have much
higher risk of breaking existing apps that may not be expecting this behavior.
8.3 is still new enough that we can probably get away with making this change
in the function's behavior.

17 years agoFix datetime input to behave correctly for Feb 29 in years BC.
Tom Lane [Mon, 25 Feb 2008 23:21:08 +0000 (23:21 +0000)]
Fix datetime input to behave correctly for Feb 29 in years BC.

Formerly, DecodeDate attempted to verify the day-of-the-month exactly, but
it was under the misapprehension that it would know whether we were looking
at a BC year or not.  In reality this check can't be made until the calling
function (eg DecodeDateTime) has processed all the fields.  So, split the
BC adjustment and validity checks out into a new function ValidateDate that
is called only after processing all the fields.  In passing, this patch
makes DecodeTimeOnly work for BC inputs, which it never did before.

(The historical veracity of all this is nonexistent, of course, but if
we're going to say we support proleptic Gregorian calendar then we should
do it correctly.  In any case the unpatched code is broken because it could
emit dates that it would then reject on re-inputting.)

Per report from Bernd Helmle.  Back-patch as far as 8.0; in 7.x we were
not using our own calendar support and so this seems a bit too risky
to put into 7.4.

17 years agoUse our own getopt() and getopt_long() on Solaris, because that platform's
Tom Lane [Sun, 24 Feb 2008 05:22:03 +0000 (05:22 +0000)]
Use our own getopt() and getopt_long() on Solaris, because that platform's
versions don't handle long options the way we want.  Per Zdenek Kotala.

17 years agoAvoid trying to print a NULL char pointer in --describe-config. On some
Tom Lane [Sat, 23 Feb 2008 19:23:37 +0000 (19:23 +0000)]
Avoid trying to print a NULL char pointer in --describe-config.  On some
platforms this works, but on some it crashes.  Zdenek Kotala

17 years agoChange the declaration of struct varlena so that the length word is
Tom Lane [Sat, 23 Feb 2008 19:11:55 +0000 (19:11 +0000)]
Change the declaration of struct varlena so that the length word is
represented as "char ...[4]" not "int32".  Since the length word is never
supposed to be accessed via this struct member anyway, this won't break
any existing code that is following the rules.  The advantage is that C
compilers will no longer assume that a pointer to struct varlena is
word-aligned, which prevents incorrect optimizations in TOAST-pointer
access and perhaps other places.  gcc doesn't seem to do this (at least
not at -O2), but the problem is demonstrable on some other compilers.

I changed struct inet as well, but didn't bother to touch a lot of other
struct definitions in which it wouldn't make any difference because there
were other fields forcing int alignment anyway.  Hopefully none of those
struct definitions are used for accessing unaligned Datums.

17 years agoFix mistakes in pg_ctl's code for "start -w" that tries to cope with
Tom Lane [Wed, 20 Feb 2008 22:18:20 +0000 (22:18 +0000)]
Fix mistakes in pg_ctl's code for "start -w" that tries to cope with
non-default settings for the postmaster's port number.  The code to parse
command line options and postgresql.conf entries wasn't quite right about
whitespace or quotes, and it was coded in a not-very-readable way too.
Per bug #3969 from Itagaki Takahiro, though this is more extensive than his
proposed patch (which fixed only the whitespace problem).
This code has been broken since it was put in in 8.0, so patch all the way
back.

17 years agoPut a CHECK_FOR_INTERRUPTS call into the loops that try to find a unique new
Tom Lane [Wed, 20 Feb 2008 17:44:14 +0000 (17:44 +0000)]
Put a CHECK_FOR_INTERRUPTS call into the loops that try to find a unique new
OID or new relfilenode.  If the existing OIDs are sufficiently densely
populated, this could take a long time (perhaps even be an infinite loop),
so it seems wise to allow the system to respond to a cancel interrupt here.
Per a gripe from Jacky Leng.

Backpatch as far as 8.1.  Older versions just fail on OID collision,
instead of looping.

17 years agoChange error message to be able to differentiate the two cases. Per suggestion
Alvaro Herrera [Wed, 20 Feb 2008 16:48:12 +0000 (16:48 +0000)]
Change error message to be able to differentiate the two cases.  Per suggestion
from Jaime Casanova.

17 years agoRemove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk
Tom Lane [Mon, 18 Feb 2008 23:00:38 +0000 (23:00 +0000)]
Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk
and RI_FKey_keyequal_upd_fk, as well as no-longer-needed calls of
ri_BuildQueryKeyFull.  Aside from saving a few cycles, this avoids needless
deadlock risks when an update is not changing the columns that participate
in an RI constraint.  Per a gripe from Alexey Nalbat.

Back-patch to 8.3.  Earlier releases did have a need to open the other
relation due to the way in which they retrieved information about the RI
constraint, so this problem unfortunately can't easily be improved pre-8.3.

Tom Lane and Stephan Szabo

17 years agoObserve errors in makefile
Peter Eisentraut [Mon, 18 Feb 2008 16:04:20 +0000 (16:04 +0000)]
Observe errors in makefile

17 years agoChanged INFORMIX mode symbol definition yet again because the old way didn't work...
Michael Meskes [Sun, 17 Feb 2008 18:42:23 +0000 (18:42 +0000)]
Changed INFORMIX mode symbol definition yet again because the old way didn't work on NetBSD.

17 years agoUpdated expected result for regression test.
Michael Meskes [Fri, 15 Feb 2008 18:51:57 +0000 (18:51 +0000)]
Updated expected result for regression test.

17 years agoFixed conflicting commit.
Michael Meskes [Fri, 15 Feb 2008 16:28:47 +0000 (16:28 +0000)]
Fixed conflicting commit.

17 years agoChanged the way symbols are defined in C in INFORMIX mode.
Michael Meskes [Fri, 15 Feb 2008 12:11:02 +0000 (12:11 +0000)]
Changed the way symbols are defined in C in INFORMIX mode.
Added SQLSTATE macro closing bug #3961.
EXECUTE can return NOT FOUND so it should be checked here too.

17 years agoCorrect XML markup typo, <book> -> </book>
Bruce Momjian [Wed, 13 Feb 2008 22:47:09 +0000 (22:47 +0000)]
Correct XML markup typo, <book> -> </book>

 XMLPARSE (DOCUMENT '<?xml
 version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>')

Backpatch to 8.3.X.

17 years agoFix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before
Tom Lane [Tue, 12 Feb 2008 04:09:44 +0000 (04:09 +0000)]
Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before
doing anything interesting, such as calling RevalidateCachedPlan().  The
necessity of this is demonstrated by an example from Willem Buitendyk:
during a replan, the planner might try to evaluate SPI-using functions,
and so we'd better be in a clean SPI context.

A small downside of this fix is that these two functions will now fail
outright if called when not inside a SPI-using procedure (ie, a
SPI_connect/SPI_finish pair).  The documentation never promised or suggested
that that would work, though; and they are normally used in concert with
other functions, mainly SPI_prepare, that always have failed in such a case.
So the odds of breaking something seem pretty low.

In passing, make SPI_is_cursor_plan's error handling convention clearer,
and fix documentation's erroneous claim that SPI_cursor_open would
return NULL on error.

Before 8.3 these functions could not invoke replanning, so there is probably
no need for back-patching.

17 years agoUpdate timezone mapping for Windows with new timezones added
Magnus Hagander [Mon, 11 Feb 2008 19:55:11 +0000 (19:55 +0000)]
Update timezone mapping for Windows with new timezones added
in windows servicepacks.
Fix timezone mapping for "Mexico 2"

17 years agoRepair VACUUM FULL bug introduced by HOT patch: the original way of
Tom Lane [Mon, 11 Feb 2008 19:14:30 +0000 (19:14 +0000)]
Repair VACUUM FULL bug introduced by HOT patch: the original way of
calculating a page's initial free space was fine, and should not have been
"improved" by letting PageGetHeapFreeSpace do it.  VACUUM FULL is going to
reclaim LP_DEAD line pointers later, so there is no need for a guard
against the page being too full of line pointers, and having one risks
rejecting pages that are perfectly good move destinations.

This also exposed a second bug, which is that the empty_end_pages logic
assumed that any page with no live tuples would get entered into the
fraged_pages list automatically (by virtue of having more free space than
the threshold in the do_frag calculation).  This assumption certainly
seems risky when a low fillfactor has been chosen, and even without
tunable fillfactor I think it could conceivably fail on a page with many
unused line pointers.  So fix the code to force do_frag true when notup
is true, and patch this part of the fix all the way back.

Per report from Tomas Szepe.

17 years agoFix PageGetExactFreeSpace() so that it actually behaves sensibly
Tom Lane [Sun, 10 Feb 2008 20:39:08 +0000 (20:39 +0000)]
Fix PageGetExactFreeSpace() so that it actually behaves sensibly
if pd_lower > pd_upper, rather than merely claiming to.  This would
only matter if the page header were corrupt, which shouldn't occur,
but ...

17 years agoSome small editorialization on the protocol documentation for GSSAPI/SSPI
Tom Lane [Fri, 8 Feb 2008 18:18:05 +0000 (18:18 +0000)]
Some small editorialization on the protocol documentation for GSSAPI/SSPI
authentication.

17 years agoSince GSSAPI and SSPI authentication don't work in protocol version 2,
Tom Lane [Fri, 8 Feb 2008 17:58:46 +0000 (17:58 +0000)]
Since GSSAPI and SSPI authentication don't work in protocol version 2,
issue a helpful error message instead of sending unparsable garbage.
(It is clearly a design error that this doesn't work, but fixing it
is not worth the trouble at this point.)  Per discussion.

17 years agoAvoid misbehavior in foreign key checks when casting to a datatype for which
Tom Lane [Thu, 7 Feb 2008 22:58:35 +0000 (22:58 +0000)]
Avoid misbehavior in foreign key checks when casting to a datatype for which
the parser supplies a default typmod that can result in data loss (ie,
truncation).  Currently that appears to be only CHARACTER and BIT.
We can avoid the problem by specifying the type's internal name instead
of using SQL-spec syntax.  Since the queries generated here are only used
internally, there's no need to worry about portability.  This problem is
new in 8.3; before we just let the parser do whatever it wanted to resolve
the operator, but 8.3 is trying to be sure that the semantics of FK checks
are consistent.  Per report from Harald Fuchs.

17 years agoAdd "automatically" to HOT release note description.
Bruce Momjian [Thu, 7 Feb 2008 22:28:54 +0000 (22:28 +0000)]
Add "automatically" to HOT release note description.

17 years agoSome variants of ALTER OWNER tried to make the "object" field of the
Tom Lane [Thu, 7 Feb 2008 21:07:55 +0000 (21:07 +0000)]
Some variants of ALTER OWNER tried to make the "object" field of the
statement be a list of bare C strings, rather than String nodes, which is
what they need to be for copyfuncs/equalfuncs to work.  Fortunately these
node types never go out to disk (if they did, we'd likely have noticed the
problem sooner), so we can just fix it without creating a need for initdb.
This bug has been there since 8.0, but 8.3 exposes it in a more common
code path (Parse messages) than prior releases did.  Per bug #3940 from
Vladimir Kokovic.

17 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.

17 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.

17 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.

17 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.)

17 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.

17 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.

17 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.

17 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

17 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.

17 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.

17 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.

17 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.

17 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

17 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.

17 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.

17 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

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

17 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. -->

17 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.

17 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.

17 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.

17 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.

17 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.

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

17 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.

17 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.

17 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

17 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.

17 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.

17 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.

17 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.

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

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

17 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

17 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.

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

< * Add anonymous transactions
> * Add autonomous transactions

17 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
>

17 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

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

from Gevik Babakhani

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

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

17 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.

17 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

17 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.