]> granicus.if.org Git - postgresql/log
postgresql
18 years agoRepair longstanding error in btree xlog replay: XLogReadBuffer should be
Tom Lane [Tue, 28 Mar 2006 21:17:23 +0000 (21:17 +0000)]
Repair longstanding error in btree xlog replay: XLogReadBuffer should be
passed extend = true whenever we are reading a page we intend to reinitialize
completely, even if we think the page "should exist".  This is because it
might indeed not exist, if the relation got truncated sometime after the
current xlog record was made and before the crash we're trying to recover
from.  These two thinkos appear to explain both of the old bug reports
discussed here:
http://archives.postgresql.org/pgsql-hackers/2005-05/msg01369.php

18 years agoComments in IndexBuildHeapScan describe the indexing of recently-dead
Tom Lane [Fri, 24 Mar 2006 23:02:17 +0000 (23:02 +0000)]
Comments in IndexBuildHeapScan describe the indexing of recently-dead
tuples as needed "to keep VACUUM from complaining", but actually there is
a more compelling reason to do it: failure to do so violates MVCC semantics.
This is because a pre-existing serializable transaction might try to use
the index after we finish (re)building it, and it might fail to find tuples
it should be able to see.  We got this mostly right, but not in the case
of partial indexes: the code mistakenly discarded recently-dead tuples for
partial indexes.  Fix that, and adjust the comments.

18 years agoArrange to emit a description of the current XLOG record as error context
Tom Lane [Fri, 24 Mar 2006 04:32:13 +0000 (04:32 +0000)]
Arrange to emit a description of the current XLOG record as error context
when an error occurs during xlog replay.  Also, replace the former risky
'write into a fixed-size buffer with no overflow detection' API for XLOG
record description routines; use an expansible StringInfo instead.  (The
latter accounts for most of the patch bulk.)

Qingqing Zhou

18 years agoFix plpgsql to pass only one copy of any given plpgsql variable into a SQL
Tom Lane [Thu, 23 Mar 2006 04:22:37 +0000 (04:22 +0000)]
Fix plpgsql to pass only one copy of any given plpgsql variable into a SQL
command or expression, rather than one copy for each textual occurrence as
it did before.  This might result in some small performance improvement,
but the compelling reason to do it is that not doing so can result in
unexpected grouping failures because the main SQL parser won't see different
parameter numbers as equivalent.  Add a regression test for the failure case.
Per report from Robert Davidson.

18 years agoAdd error location info to ResTarget parse nodes. Allows error cursor to be supplied
Tom Lane [Thu, 23 Mar 2006 00:19:30 +0000 (00:19 +0000)]
Add error location info to ResTarget parse nodes.  Allows error cursor to be supplied
for various mistakes involving INSERT and UPDATE target columns.

18 years agoImprove performance of our private version of qsort. Per recent testing,
Tom Lane [Tue, 21 Mar 2006 19:49:15 +0000 (19:49 +0000)]
Improve performance of our private version of qsort.  Per recent testing,
the logic it contained to switch to insertion sort for near-sorted input was
in fact a big loss, because it could fairly easily be fooled into applying
insertion sort to large subfiles that weren't all that well ordered.  Remove
that, and instead add a simple check for already-perfectly-sorted input, as
per suggestion from Dann Corbit.  This adds at worst O(N*lgN) overhead, and
usually far less, while sometimes allowing a subfile sort to finish in O(N)
time.  Preliminary testing says this is an improvement over the basic
Bentley & McIlroy code for many nonrandom inputs, and it costs almost
nothing when the input is random.

18 years agoMinor refactoring: initialize_SSL() only returns 0, so it should return
Neil Conway [Tue, 21 Mar 2006 18:18:35 +0000 (18:18 +0000)]
Minor refactoring: initialize_SSL() only returns 0, so it should return
"void" rather than "int".

18 years agoMerge the loading of shared object descriptions with regular descriptions,
Alvaro Herrera [Tue, 21 Mar 2006 17:54:28 +0000 (17:54 +0000)]
Merge the loading of shared object descriptions with regular descriptions,
both in code and in the messages emitted to the user.

18 years agoFix psql history handling:
Bruce Momjian [Tue, 21 Mar 2006 13:38:12 +0000 (13:38 +0000)]
Fix psql history handling:

> 1) Fix the problems with the \s command.
> When the saveHistory is executed by the \s command we must not do the
> conversion \n -> \x01  (per
> http://archives.postgresql.org/pgsql-hackers/2006-03/msg00317.php )
>
> 2) Fix the handling of Ctrl+C
>
> Now when you do
> wsdb=# select 'your long query here '
> wsdb-#
> and press afterwards the CtrlC the line "select 'your long query here
'"
> will be in the history
>
> (partly per
> http://archives.postgresql.org/pgsql-hackers/2006-03/msg00297.php )
>
> 3) Fix the handling of commands with not closed brackets, quotes,
double
> quotes. (now those commands are not splitted in parts...)
>
> 4) Fix the behaviour when SINGLELINE mode is used. (before it was
almost
> broken ;(

Sergey E. Koposov

18 years agoUpdate comment that pgNotify.be_pid is pid of the notifying server process.
Bruce Momjian [Mon, 20 Mar 2006 15:07:05 +0000 (15:07 +0000)]
Update comment that pgNotify.be_pid is pid of the notifying server process.

18 years agoFix a few places that were checking for the return value of palloc() to be
Neil Conway [Sun, 19 Mar 2006 22:22:56 +0000 (22:22 +0000)]
Fix a few places that were checking for the return value of palloc() to be
non-NULL: palloc() ereports on OOM, so we can safely assume it returns a
valid pointer.

18 years agoAdjust join_1.out to match Windows behavior for new mergejoin regression
Tom Lane [Sun, 19 Mar 2006 01:19:42 +0000 (01:19 +0000)]
Adjust join_1.out to match Windows behavior for new mergejoin regression
test, per Dave Page and buildfarm.  Perhaps we will need a join_2 instead,
but for the moment assume that this test tracks the other diffs.

18 years agoThe call to DNSServiceRegistrationCreate in postmaster.c does incorrect
Neil Conway [Sat, 18 Mar 2006 22:09:58 +0000 (22:09 +0000)]
The call to DNSServiceRegistrationCreate in postmaster.c does incorrect
byte-swapping on the port number which causes the call to fail on Intel
Macs.

This patch uses htons() instead of htonl() and fixes this bug.

Ashley Clark

18 years agoFix bug introduced into mergejoin logic by performance improvement patch of
Tom Lane [Fri, 17 Mar 2006 19:38:12 +0000 (19:38 +0000)]
Fix bug introduced into mergejoin logic by performance improvement patch of
2005-05-13.  When we find that a new inner tuple can't possibly match any
outer tuple (because it contains a NULL), we can't immediately skip the
tuple when we are in NEXTINNER state.  Doing so can lead to emitting
multiple copies of the tuple in FillInner mode, because we may rescan the
tuple after returning to a previous marked tuple.  Instead, proceed to
NEXTOUTER state the same as we used to do.  After we've found that there's
no need to return to the marked position, we can go to SKIPINNER_ADVANCE
state instead of SKIP_TEST when the inner tuple is unmatchable; this
preserves the performance improvement.  Per bug report from Bruce.
I also made a couple of cosmetic code rearrangements and added a regression
test for the problem.

18 years agoDocument long names for format options (plain, tar, custom). They already
Peter Eisentraut [Fri, 17 Mar 2006 16:02:47 +0000 (16:02 +0000)]
Document long names for format options (plain, tar, custom).  They already
worked and someone asked about them, so we might as well document them.

18 years agoFixed bug 2330: Wrong error code in case of a duplicate key
Michael Meskes [Fri, 17 Mar 2006 15:46:13 +0000 (15:46 +0000)]
Fixed bug 2330: Wrong error code in case of a duplicate key

18 years agoFix invalid use of #if within a macro, per Laurenz Albe. Also try to
Tom Lane [Thu, 16 Mar 2006 18:11:17 +0000 (18:11 +0000)]
Fix invalid use of #if within a macro, per Laurenz Albe.  Also try to
make the LDAP code's error messages look like they were written by someone
who had heard of our style guidelines.

18 years agoClean up representation of function RTEs for functions returning RECORD.
Tom Lane [Thu, 16 Mar 2006 00:31:55 +0000 (00:31 +0000)]
Clean up representation of function RTEs for functions returning RECORD.
The original coding stored the raw parser output (ColumnDef and TypeName
nodes) which was ugly, bulky, and wrong because it failed to create any
dependency on the referenced datatype --- and in fact would not track type
renamings and suchlike.  Instead store a list of column type OIDs in the
RTE.

Also fix up general failure of recordDependencyOnExpr to do anything sane
about recording dependencies on datatypes.  While there are many cases where
there will be an indirect dependency (eg if an operator returns a datatype,
the dependency on the operator is enough), we do have to record the datatype
as a separate dependency in examples like CoerceToDomain.

initdb forced because of change of stored rules.

18 years agoFix typo in pgcvslog, used == instead of =.
Bruce Momjian [Wed, 15 Mar 2006 03:24:17 +0000 (03:24 +0000)]
Fix typo in pgcvslog, used == instead of =.

18 years agoIt seems the YYLLOC_DEFAULT macro recommended by the Bison 1.875 manual
Tom Lane [Tue, 14 Mar 2006 23:03:20 +0000 (23:03 +0000)]
It seems the YYLLOC_DEFAULT macro recommended by the Bison 1.875 manual
just doesn't work with Bison 2.0 ... fix it ...

18 years agoMissed this file in previous commit :-(
Tom Lane [Tue, 14 Mar 2006 22:50:46 +0000 (22:50 +0000)]
Missed this file in previous commit :-(

18 years agoImprove parser so that we can show an error cursor position for errors
Tom Lane [Tue, 14 Mar 2006 22:48:25 +0000 (22:48 +0000)]
Improve parser so that we can show an error cursor position for errors
during parse analysis, not only errors detected in the flex/bison stages.
This is per my earlier proposal.  This commit includes all the basic
infrastructure, but locations are only tracked and reported for errors
involving column references, function calls, and operators.  More could
be done later but this seems like a good set to start with.  I've also
moved the ReportSyntaxErrorPosition logic out of psql and into libpq,
which should make it available to more people --- even within psql this
is an improvement because warnings weren't handled by ReportSyntaxErrorPosition.

18 years agoFix a number of syntax errors in contrib modules' uninstall scripts.
Neil Conway [Mon, 13 Mar 2006 18:04:58 +0000 (18:04 +0000)]
Fix a number of syntax errors in contrib modules' uninstall scripts.
Most of the changes add the mandatory USING clause to DROP OPERATOR
CLASS statements.  DROP TYPE is now DROP TYPE CASCADE; without
CASCADE a DROP TYPE fails due to the circular dependency on the
type's I/O functions.  The DROP FUNCTION statements for the I/O
functions have been removed, as DROP TYPE CASCADE removes them
automatically. Patch from Michael Fuhr.

18 years agoRemove Christof Petig copyright. He already approved removal from an
Bruce Momjian [Sat, 11 Mar 2006 16:57:44 +0000 (16:57 +0000)]
Remove Christof Petig copyright.  He already approved removal from an
include file in the same area,.

18 years agoRemove copyright notices from Jan (per author approval), and those files
Bruce Momjian [Sat, 11 Mar 2006 16:43:22 +0000 (16:43 +0000)]
Remove copyright notices from Jan (per author approval), and those files
derived from Jan's.

18 years agoAdd CVS tag lines to files that were lacking them.
Bruce Momjian [Sat, 11 Mar 2006 04:38:42 +0000 (04:38 +0000)]
Add CVS tag lines to files that were lacking them.

18 years agoRemove a few places that attempted to define INT_MAX, SCHAR_MAX, and
Neil Conway [Sat, 11 Mar 2006 01:19:22 +0000 (01:19 +0000)]
Remove a few places that attempted to define INT_MAX, SCHAR_MAX, and
similar constants if they were not previously defined. All these
constants must be defined by limits.h according to C89, so we can
safely assume they are present.

18 years agoRecent changes in memory management in tuplesort.c had a problem: the
Tom Lane [Fri, 10 Mar 2006 23:19:00 +0000 (23:19 +0000)]
Recent changes in memory management in tuplesort.c had a problem: the
case where we run low on array slots before we run low on memory is much
more probable than I had thought, and so it's important to treat each
tape fairly in that case.  To fix this, track per-tape slot allocations
just like we track per-tape space allocation.  Also, in the FINALMERGE
code path avoid scanning all the input tapes when we really only need to
read from one.  This should fix poor behavior with very large work_mem
as exhibited by Stefan Kaltenbrunner.
I didn't do anything about putting an upper bound on the number of tapes,
but maybe we should still consider that.

18 years agoAdd a CHECK_FOR_INTERRUPTS() in _bt_buildadd(). This fixes problem
Tom Lane [Fri, 10 Mar 2006 20:18:15 +0000 (20:18 +0000)]
Add a CHECK_FOR_INTERRUPTS() in _bt_buildadd().  This fixes problem
with not responding to query cancel during the last stage of btree index
creation.

18 years agoImplement 4 new aggregate functions from SQL2003. Specifically: var_pop(),
Neil Conway [Fri, 10 Mar 2006 20:15:28 +0000 (20:15 +0000)]
Implement 4 new aggregate functions from SQL2003. Specifically: var_pop(),
var_samp(), stddev_pop(), and stddev_samp(). var_samp() and stddev_samp()
are just renamings of the historical Postgres aggregates variance() and
stddev() -- the latter names have been kept for backward compatibility.
This patch includes updates for the documentation and regression tests.
The catversion has been bumped.

NB: SQL2003 requires that DISTINCT not be specified for any of these
aggregates. Per discussion on -patches, I have NOT implemented this
restriction: if the user asks for stddev(DISTINCT x), presumably they
know what they are doing.

18 years agoRemove unintened change to pg_proc.h.
Bruce Momjian [Fri, 10 Mar 2006 19:12:51 +0000 (19:12 +0000)]
Remove unintened change to pg_proc.h.

18 years agoMake $PostgreSQL CVS tags consistent for SGML files.
Bruce Momjian [Fri, 10 Mar 2006 19:10:50 +0000 (19:10 +0000)]
Make $PostgreSQL CVS tags consistent for SGML files.

18 years agoFix order of linking of libxslt and libxml2, per Dave Page.
Tom Lane [Fri, 10 Mar 2006 15:39:42 +0000 (15:39 +0000)]
Fix order of linking of libxslt and libxml2, per Dave Page.

18 years agoAdd a CHECK_FOR_INTERRUPTS() to the loop in ExecMakeTableFunctionResult.
Tom Lane [Fri, 10 Mar 2006 01:51:23 +0000 (01:51 +0000)]
Add a CHECK_FOR_INTERRUPTS() to the loop in ExecMakeTableFunctionResult.
Otherwise you can't cancel queries like select ... from generate_series(1,1000000).

18 years agoRemove Jan Wieck's name from copyrights, and put in standard
Bruce Momjian [Thu, 9 Mar 2006 21:29:38 +0000 (21:29 +0000)]
Remove Jan Wieck's name from copyrights, and put in standard
boilerplate, with approval of author.

18 years agoRemove somebody's flight of fancy about an UPDATE with ORDER BY and LIMIT.
Tom Lane [Wed, 8 Mar 2006 22:59:09 +0000 (22:59 +0000)]
Remove somebody's flight of fancy about an UPDATE with ORDER BY and LIMIT.

18 years agoRemove Christof Petig copyright on include file, per author request.
Bruce Momjian [Wed, 8 Mar 2006 22:00:27 +0000 (22:00 +0000)]
Remove Christof Petig copyright on include file, per author request.

18 years agoTweak trace_sort code to show the merge order (number of active input
Tom Lane [Wed, 8 Mar 2006 16:59:03 +0000 (16:59 +0000)]
Tweak trace_sort code to show the merge order (number of active input
tapes) for each merge step.  This will give us some idea of how effective
the merge distribution algorithm is.

18 years agoUpdate pltcl expected file for E''.
Bruce Momjian [Wed, 8 Mar 2006 08:00:35 +0000 (08:00 +0000)]
Update pltcl expected file for E''.

18 years agoAdjust plpython for escape_string_warning.
Bruce Momjian [Wed, 8 Mar 2006 04:01:29 +0000 (04:01 +0000)]
Adjust plpython for escape_string_warning.

18 years agoAdjust PL regression tests for escape_string_warning.
Bruce Momjian [Wed, 8 Mar 2006 03:58:53 +0000 (03:58 +0000)]
Adjust PL regression tests for escape_string_warning.

18 years agoUpdate /contrib regression tests for escape_string_warning.
Bruce Momjian [Wed, 8 Mar 2006 03:51:52 +0000 (03:51 +0000)]
Update /contrib regression tests for escape_string_warning.

18 years agoFurther examination of ltsReleaseBlock usage shows that it's got a
Tom Lane [Tue, 7 Mar 2006 23:46:24 +0000 (23:46 +0000)]
Further examination of ltsReleaseBlock usage shows that it's got a
performance issue during regular merge passes not only the 'final merge'
case.  The original design contemplated that there would never be more
than about one free block per 'tape', hence no need for an efficient
method of keeping the free blocks sorted.  But given the later addition
of merge preread behavior in tuplesort.c, there is likely to be about
work_mem worth of free blocks, which is not so small ... and for that
matter the number of tapes isn't necessarily small anymore either.  So
we'd better get rid of the assumption entirely.  Instead, I'm assuming
that the usage pattern will involve alternation between merge preread
and writing of a new run.  This makes it reasonable to just add blocks
to the list without sorting during successive ltsReleaseBlock calls,
and then do a qsort() when we start getting ltsGetFreeBlock() calls.
Experimentation seems to confirm that there aren't many qsort calls
relative to the number of ltsReleaseBlock/ltsGetFreeBlock calls.

18 years agoRepair old performance bug in tuplesort.c/logtape.c. In the case where
Tom Lane [Tue, 7 Mar 2006 19:06:50 +0000 (19:06 +0000)]
Repair old performance bug in tuplesort.c/logtape.c.  In the case where
we are doing the final merge pass on-the-fly, and not writing the data
back onto a 'tape', the number of free blocks in the tape set will become
large, leading to a lot of time wasted in ltsReleaseBlock().  There is
really no need to track the free blocks anymore in this state, so add a
simple shutoff switch.  Per report from Stefan Kaltenbrunner.

18 years agoTurn off zero_damaged_pages in the right place (ie, in the autovac
Tom Lane [Tue, 7 Mar 2006 17:32:22 +0000 (17:32 +0000)]
Turn off zero_damaged_pages in the right place (ie, in the autovac
process not in the postmaster) and with the right GucSource (needs to
be a nontransactional source since we've not started an xact yet).

18 years agoUse SetConfigOption() to turn off "zero_damaged_pages" in autovacuum.
Bruce Momjian [Tue, 7 Mar 2006 03:03:09 +0000 (03:03 +0000)]
Use SetConfigOption() to turn off "zero_damaged_pages" in autovacuum.

18 years agoBack out comment update about sighup, original was accurate.
Bruce Momjian [Tue, 7 Mar 2006 03:01:22 +0000 (03:01 +0000)]
Back out comment update about sighup, original was accurate.

18 years agoProperly set "escape_string_warning" to default to true.
Bruce Momjian [Tue, 7 Mar 2006 02:54:23 +0000 (02:54 +0000)]
Properly set "escape_string_warning" to default to true.

18 years agoMake all our flex and bison files use %option prefix or %name-prefix
Tom Lane [Tue, 7 Mar 2006 01:03:12 +0000 (01:03 +0000)]
Make all our flex and bison files use %option prefix or %name-prefix
(respectively) to rename yylex and related symbols.  Some were doing
it this way already, while others used not-too-reliable sed hacks in
the Makefiles.  It's all nice and consistent now.

18 years agoRemove the stub support we had for UNION JOIN; per discussion, this is
Tom Lane [Tue, 7 Mar 2006 01:00:19 +0000 (01:00 +0000)]
Remove the stub support we had for UNION JOIN; per discussion, this is
not likely ever to be implemented seeing it's been removed from SQL2003.
This allows getting rid of the 'filter' version of yylex() that we had in
parser.c, which should save at least a few microseconds in parsing.

18 years ago'make clean' should NOT remove *~ files.
Tom Lane [Tue, 7 Mar 2006 00:48:07 +0000 (00:48 +0000)]
'make clean' should NOT remove *~ files.

18 years agoSGML typo fix.
Bruce Momjian [Mon, 6 Mar 2006 22:54:14 +0000 (22:54 +0000)]
SGML typo fix.

18 years agoDefault to ON for 8.2, as announced in the release notes:
Bruce Momjian [Mon, 6 Mar 2006 22:52:10 +0000 (22:52 +0000)]
Default to ON for 8.2, as announced in the release notes:

escape_string_warning = on

18 years agoDone though the second is default so off in 8.2:
Bruce Momjian [Mon, 6 Mar 2006 22:51:20 +0000 (22:51 +0000)]
Done though the second is default so off in 8.2:

> * -Eventually enable escape_string_warning and standard_conforming_strings

18 years agoAttached is the new patch. To summarize:
Bruce Momjian [Mon, 6 Mar 2006 22:49:17 +0000 (22:49 +0000)]
Attached is the new patch.  To summarize:

   - new function justify_interval(interval)
   - modified function justify_hours(interval)
   - modified function justify_days(interval)

These functions are defined to meet the requirements as discussed in
this thread.  Specifically:

   - justify_hours makes certain the sign bit on the hours
     matches the sign bit on the days.  It only checks the
     sign bit on the days, and not the months, when
     determining if the hours should be positive or negative.
     After the call, -24 < hours < 24.

   - justify_days makes certain the sign bit on the days
     matches the sign bit on the months.  It's behavior does
     not depend on the hours, nor does it modify the hours.
     After the call, -30 < days < 30.

   - justify_interval makes sure the sign bits on all three
     fields months, days, and hours are all the same.  After
     the call, -24 < hours < 24 AND -30 < days < 30.

Mark Dilger

18 years agoEnable standard_conforming_strings to be turned on.
Bruce Momjian [Mon, 6 Mar 2006 19:49:20 +0000 (19:49 +0000)]
Enable standard_conforming_strings to be turned on.

Kevin Grittner

18 years agoUpdate comment on how sighup signal affects postgresql.conf reload.
Bruce Momjian [Mon, 6 Mar 2006 18:38:11 +0000 (18:38 +0000)]
Update comment on how sighup signal affects postgresql.conf reload.

Markus Bertheau

18 years ago* Stephen Frost (sfrost@snowman.net) wrote:
Bruce Momjian [Mon, 6 Mar 2006 17:59:30 +0000 (17:59 +0000)]
* Stephen Frost (sfrost@snowman.net) wrote:
>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.

Backpatch to 8.1.X.

Stephen Frost

18 years agoThis patch adds native LDAP auth, for those platforms that don't have
Bruce Momjian [Mon, 6 Mar 2006 17:41:44 +0000 (17:41 +0000)]
This patch adds native LDAP auth, for those platforms that don't have
PAM (such as Win32, but also unixen without PAM). On Unix, uses
OpenLDAP. On win32, uses the builin WinLDAP library.

Magnus Hagander

18 years agoAdd:
Bruce Momjian [Mon, 6 Mar 2006 17:10:31 +0000 (17:10 +0000)]
Add:

>  o Prevent parent tables from altering or dropping constraints
>    like CHECK that are inherited by child tables
>
>    Dropping constraints should only be possible with CASCADE.
>

18 years agoUpdate item.
Bruce Momjian [Mon, 6 Mar 2006 15:21:42 +0000 (15:21 +0000)]
Update item.

18 years agoAdd for Win32:
Bruce Momjian [Mon, 6 Mar 2006 15:19:45 +0000 (15:19 +0000)]
Add for Win32:

>  o Check WSACancelBlockingCall() for interrupts (win32intr)
>

18 years agoAdd WSACancelBlockingCall TODO.detail item.
Bruce Momjian [Mon, 6 Mar 2006 15:19:19 +0000 (15:19 +0000)]
Add WSACancelBlockingCall TODO.detail item.

18 years agoAdd for ecpg:
Bruce Momjian [Mon, 6 Mar 2006 15:13:38 +0000 (15:13 +0000)]
Add for ecpg:

>  o Add COPY TO STDIN / STDOUT handling

18 years agoFix psql history handling so 'execute' backslash commands (\g)
Bruce Momjian [Mon, 6 Mar 2006 15:09:04 +0000 (15:09 +0000)]
Fix psql history handling so 'execute' backslash commands (\g)
remain as part of the multi-line query.

18 years agoUpdate:
Bruce Momjian [Mon, 6 Mar 2006 05:22:31 +0000 (05:22 +0000)]
Update:

< * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns
> * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
>   does not dump the changes

18 years agoAdd:
Bruce Momjian [Mon, 6 Mar 2006 05:16:21 +0000 (05:16 +0000)]
Add:

> * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns

18 years agoPrevent autovacuum from zeroing damaged pages.
Bruce Momjian [Mon, 6 Mar 2006 05:14:19 +0000 (05:14 +0000)]
Prevent autovacuum from zeroing damaged pages.

18 years agoin the docs, the function "ascii(text)" is described as
Bruce Momjian [Mon, 6 Mar 2006 04:53:50 +0000 (04:53 +0000)]
in the docs, the function "ascii(text)" is described as
returning "ASCII code of the first character of the argument"

(see
http://www.postgresql.org/docs/8.1/interactive/functions-string.html,
Table  9-6. "Other String Functions").

Presumably this should read "ASCII code of the first byte of the
argument",
which is what is returned when the argument is a multi-byte character
(although then with UTF-8 at least that might not necessarily be an
ASCII
code).

Ian Barwick

18 years agoIn psql, save history of backslash commands used in multi-line
Bruce Momjian [Mon, 6 Mar 2006 04:45:21 +0000 (04:45 +0000)]
In psql, save history of backslash commands used in multi-line
statements before the multi-line statement, rather than inside the
multi-line statement.

18 years agoPer recent discussion on -hackers, we should sometimes reorder the
Neil Conway [Sun, 5 Mar 2006 21:34:34 +0000 (21:34 +0000)]
Per recent discussion on -hackers, we should sometimes reorder the
columns of the grouping clause to avoid redundant sorts. The optimizer
is not currently capable of doing this, so this patch implements a
simple hack in the analysis phase (transformGroupClause): if any
subset of the GROUP BY clause matches a prefix of the ORDER BY list,
that prefix is moved to the front of the GROUP BY clause. This
shouldn't change the semantics of the query, and allows a redundant
sort to be avoided for queries like "GROUP BY a, b ORDER BY b".

18 years agoAdd:
Bruce Momjian [Sun, 5 Mar 2006 18:28:46 +0000 (18:28 +0000)]
Add:

>  o Port contrib/xml2

18 years agoPrepared queries for PLPerl, plus fixing a small plperl memory leak. Patch
Andrew Dunstan [Sun, 5 Mar 2006 16:40:51 +0000 (16:40 +0000)]
Prepared queries for PLPerl, plus fixing a small plperl memory leak. Patch
and docs from Dmitry Karasik, slightly editorialised.

18 years agoUpdate copyright for 2006. Update scripts.
Bruce Momjian [Sun, 5 Mar 2006 15:59:11 +0000 (15:59 +0000)]
Update copyright for 2006.  Update scripts.

18 years agoUpdate to 2006.
Bruce Momjian [Sun, 5 Mar 2006 15:21:45 +0000 (15:21 +0000)]
Update to 2006.

18 years agoDone:
Bruce Momjian [Sun, 5 Mar 2006 15:16:58 +0000 (15:16 +0000)]
Done:

>  o -Add "include file" functionality in postgresql.conf

18 years agoCheck for "msys" so it doesn't use 'con' by checking for an evironment
Bruce Momjian [Sun, 5 Mar 2006 05:33:12 +0000 (05:33 +0000)]
Check for "msys" so it doesn't use 'con' by checking for an evironment
variable.

18 years agoImprove STRINGS_H macro test for MSVC extensions.
Bruce Momjian [Sun, 5 Mar 2006 04:43:57 +0000 (04:43 +0000)]
Improve STRINGS_H macro test for MSVC extensions.

Add DLLIMPORT for V1 headers, in case Win32 don't export all symbols.

18 years agoImprove OS X shared-memory documentation: fix typos and provide a usable
Tom Lane [Sun, 5 Mar 2006 03:50:44 +0000 (03:50 +0000)]
Improve OS X shared-memory documentation: fix typos and provide a usable
example of /etc/sysctl.conf contents.

18 years agoSupport include directives in postgresql.conf.
Tom Lane [Sat, 4 Mar 2006 22:19:31 +0000 (22:19 +0000)]
Support include directives in postgresql.conf.
Patch by Joachim Wieland, somewhat reworked for clarity and portability.

18 years agoDeclare the arguments of AllocateFile() as const char *, not char *.
Tom Lane [Sat, 4 Mar 2006 21:32:47 +0000 (21:32 +0000)]
Declare the arguments of AllocateFile() as const char *, not char *.
This is consistent with the standard definition of fopen().

18 years agoIncorporate a couple of recent tuplesort.c improvements into tuplestore.c.
Tom Lane [Sat, 4 Mar 2006 19:30:12 +0000 (19:30 +0000)]
Incorporate a couple of recent tuplesort.c improvements into tuplestore.c.
In particular, ensure that enlargement of the memtuples[] array doesn't
fall foul of MaxAllocSize when work_mem is very large, and don't bother
enlarging it if that would force an immediate switch into 'tape' mode anyway.

18 years agoPrevent lazy_space_alloc from making requests that exceed MaxAllocSize,
Tom Lane [Sat, 4 Mar 2006 19:09:09 +0000 (19:09 +0000)]
Prevent lazy_space_alloc from making requests that exceed MaxAllocSize,
per report from Stefan Kaltenbrunner.

18 years agoPrevent sorting from requesting a SortTuple array that exceeds MaxAllocSize;
Tom Lane [Sat, 4 Mar 2006 19:05:06 +0000 (19:05 +0000)]
Prevent sorting from requesting a SortTuple array that exceeds MaxAllocSize;
we'll go over to disk-based sort if we reach that limit.
This fixes Stefan Kaltenbrunner's observation that sorting can suffer an
'invalid memory alloc request size' failure when sort_mem is set large
enough.  It's unfortunately not so easy to fix in 8.1 ...

18 years agoTighten up SJIS byte sequence check. Now we reject invalid SJIS byte
Tatsuo Ishii [Sat, 4 Mar 2006 10:57:35 +0000 (10:57 +0000)]
Tighten up SJIS byte sequence check. Now we reject invalid SJIS byte
sequence such as "0x95 0x27". Patches from Akio Ishida.
Also update copyright notice.

18 years agoAdd:
Bruce Momjian [Sat, 4 Mar 2006 05:02:03 +0000 (05:02 +0000)]
Add:

> * Allow FSM page return free space based on table clustering, to assist
>   in maintaining clustering?

18 years ago> gettimeofday.c:35: warning: integer constant is too large for "long"
Bruce Momjian [Sat, 4 Mar 2006 04:44:07 +0000 (04:44 +0000)]
> gettimeofday.c:35: warning: integer constant is too large for "long"
> type

Wouldn't it be better to use the UINT64CONST macro?  I realize this
file is Windows-only, but we do worry about more than one compiler
on that platform.

Kris Jurka

18 years ago> It doesn't say that only the listed commands acquire ACCESS EXCLUSIVE,
Bruce Momjian [Sat, 4 Mar 2006 04:41:36 +0000 (04:41 +0000)]
> It doesn't say that only the listed commands acquire ACCESS EXCLUSIVE,
> just that certain commands do.  TRUNCATE isn't shown.

Patch against HEAD to add TRUNCATE to the list of commands that aquire
ACCESS EXCLUSIVE.

Jim C. Nasby, Sr.

18 years agoUse DEVTTY as 'con' on Win32 as a replacement for /dev/tty.
Bruce Momjian [Sat, 4 Mar 2006 04:30:41 +0000 (04:30 +0000)]
Use DEVTTY as 'con' on Win32 as a replacement for /dev/tty.

18 years agoThat was a typo in my comment before the code (the nutshell
Bruce Momjian [Sat, 4 Mar 2006 03:47:29 +0000 (03:47 +0000)]
That was a typo in my comment before the code (the nutshell
descriptions after the code are correct). Only shmmax needs to be
multiples of the page size (at least, that's how I interpret the
Darwin code).

Chris Campbell

18 years agoThis patch fixes this warning.
Bruce Momjian [Fri, 3 Mar 2006 23:59:14 +0000 (23:59 +0000)]
This patch fixes this warning.

gettimeofday.c:35: warning: integer constant is too large for "long"
type

Kris Jurka

18 years agoAvoid trying to open /dev/tty on Win32. Some Win32 systems have
Bruce Momjian [Fri, 3 Mar 2006 23:49:12 +0000 (23:49 +0000)]
Avoid trying to open /dev/tty on Win32.  Some Win32 systems have
/dev/tty, but it isn't a device file and doesn't work as expected.

This fixes a known bug where psql does not prompt for a password on some
Win32 systems.

Backpatch to 8.1.X.

Robert Kinberg

18 years agoImprove pg_dump and psql to use libpq's newer COPY support routines,
Tom Lane [Fri, 3 Mar 2006 23:38:30 +0000 (23:38 +0000)]
Improve pg_dump and psql to use libpq's newer COPY support routines,
instead of the old deprecated ones.
Volkan Yazici, with some editorializing by moi.

18 years agoFixes for Win32-client only compiles.
Bruce Momjian [Fri, 3 Mar 2006 23:11:48 +0000 (23:11 +0000)]
Fixes for Win32-client only compiles.

Hiroshi Saito

18 years agoRename Online Backup to Continuous Archiving.
Bruce Momjian [Fri, 3 Mar 2006 22:02:08 +0000 (22:02 +0000)]
Rename Online Backup to Continuous Archiving.

18 years agoUpdate ipcclean to use try 'id' first for root check.
Bruce Momjian [Fri, 3 Mar 2006 21:52:37 +0000 (21:52 +0000)]
Update ipcclean to use try 'id' first for root check.

18 years agoAdd workaround so MSVC doesn't try to load strings.h, which it doesn't
Bruce Momjian [Fri, 3 Mar 2006 21:35:46 +0000 (21:35 +0000)]
Add workaround so MSVC doesn't try to load strings.h, which it doesn't
have.  This happens when MSVC uses pg_config.h generated by MinGW.

Per report from Charles F. I. Savage

18 years agoTeach PQcmdTuples() that a COPY command tag might contain a row count,
Tom Lane [Fri, 3 Mar 2006 20:57:32 +0000 (20:57 +0000)]
Teach PQcmdTuples() that a COPY command tag might contain a row count,
and tighten up its sanity checking of the tag as a safety measure.
Volkan Yazici.

18 years agoClarify macro layout for win32 IMPORT.
Bruce Momjian [Fri, 3 Mar 2006 20:52:36 +0000 (20:52 +0000)]
Clarify macro layout for win32 IMPORT.

18 years agoDone:
Bruce Momjian [Fri, 3 Mar 2006 20:43:00 +0000 (20:43 +0000)]
Done:

> * -Allow TRUNCATE ... CASCADE/RESTRICT