users/simon/postgres.git
17 years agoSome infrastructure changes for the upcoming auto-explain contrib module:
Tom Lane [Wed, 19 Nov 2008 01:10:24 +0000 (01:10 +0000)]
Some infrastructure changes for the upcoming auto-explain contrib module:

* Refactor explain.c slightly to export a convenient-to-use subroutine
for printing EXPLAIN results.

* Provide hooks for plugins to get control at ExecutorStart and ExecutorEnd
as well as ExecutorRun.

* Add some minimal support for tracking the total runtime of ExecutorRun.
This code won't actually do anything unless a plugin prods it to.

* Change the API of the DefineCustomXXXVariable functions to allow nonzero
"flags" to be specified for a custom GUC variable.  While at it, also make
the "bootstrap" default value for custom GUCs be explicitly specified as a
parameter to these functions.  This is to eliminate confusion over where the
default comes from, as has been expressed in the past by some users of the
custom-variable facility.

* Refactor GUC code a bit to ensure that a custom variable gets initialized to
something valid (like its default value) even if the placeholder value was
invalid.

17 years agoAdd required include to build with cygwin.
Magnus Hagander [Tue, 18 Nov 2008 21:17:26 +0000 (21:17 +0000)]
Add required include to build with cygwin.

Andrew Chernow

17 years agoIdent authentication over Unix-domain sockets on Solaris, using
Peter Eisentraut [Tue, 18 Nov 2008 13:10:20 +0000 (13:10 +0000)]
Ident authentication over Unix-domain sockets on Solaris, using
getpeerucred() function.

Author: Garick Hamlin <ghamlin@isc.upenn.edu>

17 years agoDocument that Bucardo is an example of mulit-master replication with
Bruce Momjian [Mon, 17 Nov 2008 18:55:14 +0000 (18:55 +0000)]
Document that Bucardo is an example of mulit-master replication with
conflict resolution.

17 years agoReplace plain-memory ordered array by binary tree in ts_stat() function.
Teodor Sigaev [Mon, 17 Nov 2008 12:17:09 +0000 (12:17 +0000)]
Replace plain-memory ordered array by binary tree in ts_stat() function.
Performance is increased from 50% up to 10^3 times depending on data.

17 years agoModify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE infrastructure to
Tom Lane [Sun, 16 Nov 2008 17:34:28 +0000 (17:34 +0000)]
Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE infrastructure to
locate the target row, if the cursor was declared with FOR UPDATE or FOR
SHARE.  This approach is more flexible and reliable than digging through the
plan tree; for instance it can cope with join cursors.  But we still provide
the old code for use with non-FOR-UPDATE cursors.  Per gripe from Robert Haas.

17 years agoAdd missing dependencies to preproc.y build rule
Tom Lane [Sat, 15 Nov 2008 22:20:55 +0000 (22:20 +0000)]
Add missing dependencies to preproc.y build rule

17 years agoAdd missing semicolon, per grip from Alex Hunsaker.
Andrew Dunstan [Sat, 15 Nov 2008 22:18:05 +0000 (22:18 +0000)]
Add missing semicolon, per grip from Alex Hunsaker.

17 years agoFix crash of xmlconcat(NULL)
Peter Eisentraut [Sat, 15 Nov 2008 20:52:35 +0000 (20:52 +0000)]
Fix crash of xmlconcat(NULL)

also backpatched to 8.3

17 years agoMake SELECT FOR UPDATE/SHARE work on inheritance trees, by having the plan
Tom Lane [Sat, 15 Nov 2008 19:43:47 +0000 (19:43 +0000)]
Make SELECT FOR UPDATE/SHARE work on inheritance trees, by having the plan
return the tableoid as well as the ctid for any FOR UPDATE targets that
have child tables.  All child tables are listed in the ExecRowMark list,
but the executor just skips the ones that didn't produce the current row.

Curiously, this longstanding restriction doesn't seem to have been documented
anywhere; so no doc changes.

17 years agoDocument a gotcha that happens on Windows when using libpq's new event
Tom Lane [Fri, 14 Nov 2008 22:58:51 +0000 (22:58 +0000)]
Document a gotcha that happens on Windows when using libpq's new event
procedure support: it's possible to get confused because exported procedures
have two different addresses.  Per Andrew Chernow.

17 years agoExclude contrib/intagg from the list of MSVC project files to be generated,
Magnus Hagander [Fri, 14 Nov 2008 22:12:37 +0000 (22:12 +0000)]
Exclude contrib/intagg from the list of MSVC project files to be generated,
since it's now just a SQL module and no C code.

17 years agoOne more hack to see if we can get the cygwin machines building again.
Tom Lane [Fri, 14 Nov 2008 21:45:07 +0000 (21:45 +0000)]
One more hack to see if we can get the cygwin machines building again.
This continues the saga of trying to get PGDLLIMPORT to work in pg_crc.h
in both backend and frontend environments.

17 years agoSecond try at fixing DLLIMPORT problem for pg_crc.h on Cygwin.
Tom Lane [Fri, 14 Nov 2008 20:21:07 +0000 (20:21 +0000)]
Second try at fixing DLLIMPORT problem for pg_crc.h on Cygwin.

17 years agoReduce contrib/intagg to a thin wrapper around the new core functions
Tom Lane [Fri, 14 Nov 2008 19:58:45 +0000 (19:58 +0000)]
Reduce contrib/intagg to a thin wrapper around the new core functions
array_agg() and unnest().  We could drop it entirely in the future,
but let's keep it for a release or two as a compatibility assist.

17 years agoIn CREATE AGGREGATE, allow the transition datatype to be "internal", but only
Tom Lane [Fri, 14 Nov 2008 19:47:50 +0000 (19:47 +0000)]
In CREATE AGGREGATE, allow the transition datatype to be "internal", but only
if the user is superuser.  This makes available to extension modules the same
sort of trick being practiced by array_agg().  The reason for the superuser
restriction is that you could crash the system by connecting up an
incompatible pair of internal-using functions as an aggregate.  It shouldn't
interfere with any legitimate use, since you'd have to be superuser to create
the internal-using transition and final functions anyway.

17 years agoecpg's preproc.y is now generated as needed, so remove from CVS.
Tom Lane [Fri, 14 Nov 2008 17:43:14 +0000 (17:43 +0000)]
ecpg's preproc.y is now generated as needed, so remove from CVS.

17 years agoMake CREATE CONVERSION verify that a putative encoding conversion function
Tom Lane [Fri, 14 Nov 2008 17:40:56 +0000 (17:40 +0000)]
Make CREATE CONVERSION verify that a putative encoding conversion function
returns VOID.  This is the last of the easy fixes I recommended in
11870.1218838360@sss.pgh.pa.us --- the others got done awhile ago but
I forgot about this one.

17 years agoImprove comment about when to clean generated files.
Tom Lane [Fri, 14 Nov 2008 17:18:20 +0000 (17:18 +0000)]
Improve comment about when to clean generated files.

17 years agoEnable script to generate preproc.y in build process.
Michael Meskes [Fri, 14 Nov 2008 17:11:40 +0000 (17:11 +0000)]
Enable script to generate preproc.y in build process.

17 years agoFixed test for output_filename == stdout.
Michael Meskes [Fri, 14 Nov 2008 16:25:34 +0000 (16:25 +0000)]
Fixed test for output_filename == stdout.

17 years agoFix oversight in previous error-reporting patch; mustn't pfree path string
Heikki Linnakangas [Fri, 14 Nov 2008 11:09:50 +0000 (11:09 +0000)]
Fix oversight in previous error-reporting patch; mustn't pfree path string
before passing it to elog.

17 years agoSince doc/src/sgml already builds the HTML docs twice to resolve index
Peter Eisentraut [Fri, 14 Nov 2008 10:43:59 +0000 (10:43 +0000)]
Since doc/src/sgml already builds the HTML docs twice to resolve index
entries, we don't have to do two builds here as well.

17 years agoSet SQL man pages to be section 7 by default, and only transform them to
Peter Eisentraut [Fri, 14 Nov 2008 10:22:48 +0000 (10:22 +0000)]
Set SQL man pages to be section 7 by default, and only transform them to
another section if required by the platform (instead of the old way of
building them in section "l" and always transforming them to the
platform-specific section).

This speeds up the installation on common platforms, and it avoids some
funny business with the man page tools and build process.

17 years agoAdded files containing changes between gram.y and preproc.y.
Michael Meskes [Fri, 14 Nov 2008 10:03:33 +0000 (10:03 +0000)]
Added files containing changes between gram.y and preproc.y.

17 years agoAdding script that generates preproc.y from gram.y to CVS.
Michael Meskes [Fri, 14 Nov 2008 10:01:04 +0000 (10:01 +0000)]
Adding script that generates preproc.y from gram.y to CVS.

17 years agoActually, instead of whining about how type internal might not safely store
Tom Lane [Fri, 14 Nov 2008 02:09:52 +0000 (02:09 +0000)]
Actually, instead of whining about how type internal might not safely store
a pointer, why don't we just fix that.  Every known use of "internal" really
means a pointer anyway.

17 years agoReplace the usage of heap_addheader to create pg_attribute tuples with regular