OSDN Git Service

pg-rex/syncrep.git
15 years agoModify the new to_timestamp implementation so that end-of-format-string
Heikki Linnakangas [Mon, 1 Dec 2008 17:11:18 +0000 (17:11 +0000)]
Modify the new to_timestamp implementation so that end-of-format-string
is treated like a non-digit separator. This fixes the inconsistency in
examples like:

to_timestamp('2008-01-2', 'YYYY-MM-DD') -- didn't work

and

to_timestamp('2008-1-02', 'YYYY-MM-DD') -- did work

15 years agoEnsure that the contents of a holdable cursor don't depend on out-of-line
Tom Lane [Mon, 1 Dec 2008 17:06:21 +0000 (17:06 +0000)]
Ensure that the contents of a holdable cursor don't depend on out-of-line
toasted values, since those could get dropped once the cursor's transaction
is over.  Per bug #4553 from Andrew Gierth.

Back-patch as far as 8.1.  The bug actually exists back to 7.4 when holdable
cursors were introduced, but this patch won't work before 8.1 without
significant adjustments.  Given the lack of field complaints, it doesn't seem
worth the work (and risk of introducing new bugs) to try to make a patch for
the older branches.

15 years agoRemove the last traces of --temp-port.
Tom Lane [Mon, 1 Dec 2008 13:39:45 +0000 (13:39 +0000)]
Remove the last traces of --temp-port.

15 years agoRemoved port testing.
Michael Meskes [Mon, 1 Dec 2008 11:37:37 +0000 (11:37 +0000)]
Removed port testing.

15 years agoAdd braces to clarify syntax synopsis
Peter Eisentraut [Mon, 1 Dec 2008 09:38:08 +0000 (09:38 +0000)]
Add braces to clarify syntax synopsis

15 years agoSmall correction
Peter Eisentraut [Mon, 1 Dec 2008 09:20:37 +0000 (09:20 +0000)]
Small correction

15 years agotypo
Peter Eisentraut [Mon, 1 Dec 2008 08:24:19 +0000 (08:24 +0000)]
typo

15 years agoRefactor crosstab() to build and return a tuplestore instead of using
Tom Lane [Mon, 1 Dec 2008 01:30:18 +0000 (01:30 +0000)]
Refactor crosstab() to build and return a tuplestore instead of using
value-per-call mode.  This should be more efficient in normal usage,
but the real problem with the prior coding was that it returned with
a SPI call still active.  That could cause problems if execution was
interleaved with anything else that might use SPI.

15 years agoFix dblink and tablefunc to not return with the wrong CurrentMemoryContext.
Tom Lane [Sun, 30 Nov 2008 23:23:52 +0000 (23:23 +0000)]
Fix dblink and tablefunc to not return with the wrong CurrentMemoryContext.
Per buildfarm results.

15 years agoClean up the API for DestReceiver objects by eliminating the assumption
Tom Lane [Sun, 30 Nov 2008 20:51:25 +0000 (20:51 +0000)]
Clean up the API for DestReceiver objects by eliminating the assumption
that a Portal is a useful and sufficient additional argument for
CreateDestReceiver --- it just isn't, in most cases.  Instead formalize
the approach of passing any needed parameters to the receiver separately.

One unexpected benefit of this change is that we can declare typedef Portal
in a less surprising location.

This patch is just code rearrangement and doesn't change any functionality.
I'll tackle the HOLD-cursor-vs-toast problem in a follow-on patch.

15 years agoAdd a "LIKE = typename" clause to CREATE TYPE for base types. This allows
Tom Lane [Sun, 30 Nov 2008 19:01:29 +0000 (19:01 +0000)]
Add a "LIKE = typename" clause to CREATE TYPE for base types.  This allows
the basic representational details (typlen, typalign, typbyval, typstorage)
to be copied from an existing type rather than listed explicitly in the
CREATE TYPE command.  The immediate reason for this is to provide a simple
solution for add-on modules that want to define types represented as int8,
float4, or float8: as of 8.4 the appropriate PASSEDBYVALUE setting is
platform-specific and so it's hard for a SQL script to know what to do.

This patch fixes the contrib/isn breakage reported by Rushabh Lathia.

15 years agoRemove inappropriate memory context switch in shutdown_MultiFuncCall().
Tom Lane [Sun, 30 Nov 2008 18:49:36 +0000 (18:49 +0000)]
Remove inappropriate memory context switch in shutdown_MultiFuncCall().
This was a thinko introduced in a patch from last February; it results
in memory leakage if an SRF is shut down before the actual end of query,
because subsequent code will be running in a longer-lived context than
it's expecting to be.

15 years agoFix recently-added array_agg tests to ensure they produce stable results
Tom Lane [Sat, 29 Nov 2008 00:39:46 +0000 (00:39 +0000)]
Fix recently-added array_agg tests to ensure they produce stable results
regardless of plan changes.  Per intermittent buildfarm failures on
"pigeon" and others.

15 years agoMake sure we give an appropriate user-facing error when attempting
Tom Lane [Sat, 29 Nov 2008 00:13:21 +0000 (00:13 +0000)]
Make sure we give an appropriate user-facing error when attempting
to drop a table that is referenced by an open cursor.  Fix unstable
ecpg regression test result that was produced by this oversight.

15 years agoPartial fix for fallout from temp-port changes. ecpg still needs more work,
Tom Lane [Fri, 28 Nov 2008 23:47:51 +0000 (23:47 +0000)]
Partial fix for fallout from temp-port changes.  ecpg still needs more work,
but I think this is enough to turn the buildfarm green again.

15 years agoFix an oversight in uninstall_isn.sql: must drop operator families explicitly.
Tom Lane [Fri, 28 Nov 2008 21:19:13 +0000 (21:19 +0000)]
Fix an oversight in uninstall_isn.sql: must drop operator families explicitly.

15 years agoMy recent fix for semijoin planning didn't actually work for a semijoin with a
Tom Lane [Fri, 28 Nov 2008 19:29:07 +0000 (19:29 +0000)]
My recent fix for semijoin planning didn't actually work for a semijoin with a
RHS that can't be unique-ified --- join_is_legal has to check that before
deciding to build a join, else we'll have an unimplementable joinrel.
Per report from Greg Stark.

15 years agoCosmetic cleanups in contrib/isn (doesn't fix the passbyval problem)
Tom Lane [Fri, 28 Nov 2008 18:04:00 +0000 (18:04 +0000)]
Cosmetic cleanups in contrib/isn (doesn't fix the passbyval problem)

15 years agoSupport regular expressions in pg_ident.conf.
Magnus Hagander [Fri, 28 Nov 2008 14:26:58 +0000 (14:26 +0000)]
Support regular expressions in pg_ident.conf.

15 years agoReduce risk of accidentally running temp-install regression tests against
Peter Eisentraut [Fri, 28 Nov 2008 12:45:34 +0000 (12:45 +0000)]
Reduce risk of accidentally running temp-install regression tests against
a mismatching installation.  Pick a default port number calculated from the
version number, and try a few times with other numbers if that one doesn't
work.  Check if we can connect to the port before starting our own postmaster,
to detect some other server already running there.  To simplify the code,
drop --temp-port option and use --port for both temp-install and pre-installed
case.

15 years agoFix bug in the tsvector stats collection function, which caused a crash if
Heikki Linnakangas [Thu, 27 Nov 2008 21:17:39 +0000 (21:17 +0000)]
Fix bug in the tsvector stats collection function, which caused a crash if
the sample contains just a one tsvector, containing only one lexeme.

15 years agoFix obsolete comment regarding FSM truncation.
Heikki Linnakangas [Thu, 27 Nov 2008 15:59:28 +0000 (15:59 +0000)]
Fix obsolete comment regarding FSM truncation.

15 years agoDon't force creation of the FSM on searches. It will still be created
Heikki Linnakangas [Thu, 27 Nov 2008 13:32:26 +0000 (13:32 +0000)]
Don't force creation of the FSM on searches. It will still be created
as soon as the first page fills up, and is marked as (almost) full,
though.

15 years agoAdd that PL/Java is an implementation of SQL/JRT, and drop claim that
Peter Eisentraut [Thu, 27 Nov 2008 12:12:02 +0000 (12:12 +0000)]
Add that PL/Java is an implementation of SQL/JRT, and drop claim that
PL/pgSQL has much to do with SQL/PSM.

15 years agoDrop CLI related features from the list, since we don't track the ODBC
Peter Eisentraut [Thu, 27 Nov 2008 12:10:50 +0000 (12:10 +0000)]
Drop CLI related features from the list, since we don't track the ODBC
business in core.

15 years agoMark features related to WITH/SELECT as supported.
Peter Eisentraut [Thu, 27 Nov 2008 11:29:01 +0000 (11:29 +0000)]
Mark features related to WITH/SELECT as supported.

15 years agoFix #ifdeffed debugging code to work with relation forks.
Heikki Linnakangas [Thu, 27 Nov 2008 07:38:01 +0000 (07:38 +0000)]
Fix #ifdeffed debugging code to work with relation forks.

15 years agoTweak wording of DISCARD ALL description to avoid giving the impression
Tom Lane [Thu, 27 Nov 2008 00:28:06 +0000 (00:28 +0000)]
Tweak wording of DISCARD ALL description to avoid giving the impression
that the presented list of equivalent operations is meant to be the
primary definition of what it does.  Per comment from Guillaume Smet.

15 years agoFix minor memory leak introduced in recent SQL-functions hacking: the
Tom Lane [Thu, 27 Nov 2008 00:10:04 +0000 (00:10 +0000)]
Fix minor memory leak introduced in recent SQL-functions hacking: the
DestReceiver created during postquel_start needs to be destroyed during
postquel_end.  In a moment of brain fade I had assumed this would be taken
care of by FreeQueryDesc, but it's not (and shouldn't be).

15 years agoRely on relcache invalidation to update the cached size of the FSM.
Heikki Linnakangas [Wed, 26 Nov 2008 17:08:58 +0000 (17:08 +0000)]
Rely on relcache invalidation to update the cached size of the FSM.

15 years agointerval.c needs limits.h
Michael Meskes [Wed, 26 Nov 2008 16:47:08 +0000 (16:47 +0000)]
interval.c needs limits.h

15 years agoApplied patch by Ron Mayer <rm_pg@cheapcomplexdevices.com> to merge the new
Michael Meskes [Wed, 26 Nov 2008 16:31:02 +0000 (16:31 +0000)]
Applied patch by Ron Mayer <rm_pg@cheapcomplexdevices.com> to merge the new
interval style into ecpg.

15 years agoTweak new PQExpBufferBroken macro to suppress warnings from pickier
Tom Lane [Wed, 26 Nov 2008 16:23:11 +0000 (16:23 +0000)]
Tweak new PQExpBufferBroken macro to suppress warnings from pickier
versions of gcc.

15 years agoRemoved strchrnul
Michael Meskes [Wed, 26 Nov 2008 15:35:30 +0000 (15:35 +0000)]
Removed strchrnul

15 years agoLet's see if using -c instead of -- style fixes the PGOPTIONS issue.
Tom Lane [Wed, 26 Nov 2008 13:26:52 +0000 (13:26 +0000)]
Let's see if using -c instead of -- style fixes the PGOPTIONS issue.

15 years agoWhen creating a varchar struct name braces must be discarded.
Michael Meskes [Wed, 26 Nov 2008 13:18:22 +0000 (13:18 +0000)]
When creating a varchar struct name braces must be discarded.

15 years agoconfigure check for docbook2man program, used in the new XML-based man
Peter Eisentraut [Wed, 26 Nov 2008 11:26:54 +0000 (11:26 +0000)]
configure check for docbook2man program, used in the new XML-based man
page build target.  This covers from-source, Debian, and Fedora
installation variants.

15 years agoFeature F442 "Mixed column references in set functions" is supported.
Peter Eisentraut [Wed, 26 Nov 2008 09:29:16 +0000 (09:29 +0000)]
Feature F442 "Mixed column references in set functions" is supported.

15 years agoAdd %expect 0 to all parser input files to prevent conflicts slipping by.
Peter Eisentraut [Wed, 26 Nov 2008 08:45:12 +0000 (08:45 +0000)]
Add %expect 0 to all parser input files to prevent conflicts slipping by.

15 years agoMake DISCARD ALL discard advisory locks, too. Marko Kreen
Tom Lane [Wed, 26 Nov 2008 01:21:08 +0000 (01:21 +0000)]
Make DISCARD ALL discard advisory locks, too.  Marko Kreen

15 years agoAdjust the behavior of the PQExpBuffer code to make it have well-defined
Tom Lane [Wed, 26 Nov 2008 00:26:23 +0000 (00:26 +0000)]
Adjust the behavior of the PQExpBuffer code to make it have well-defined
results (ie, an empty "broken" buffer) if memory overrun occurs anywhere
along the way to filling the buffer.  The previous coding would just silently
discard portions of the intended buffer contents, as exhibited in trouble
report from Sam Mason.  Also, tweak psql's main loop to correctly detect
and report such overruns.  There's probably much more that should be done
in this line, but this is a start.

15 years agoinformation_schema.key_column_usage.position_in_unique_constraint was
Tom Lane [Tue, 25 Nov 2008 20:47:42 +0000 (20:47 +0000)]
information_schema.key_column_usage.position_in_unique_constraint was
misdocumented as not being implemented.  In reality it has worked since
the release of 8.2.

15 years agoUse ResourceOwners in the snapshot manager, instead of attempting to track them
Alvaro Herrera [Tue, 25 Nov 2008 20:28:29 +0000 (20:28 +0000)]
Use ResourceOwners in the snapshot manager, instead of attempting to track them
by hand.  As an added bonus, the new code is smaller and more understandable,
and the ugly loops are gone.

This had been discussed all along but never implemented.  It became clear that
it really needed to be fixed after a bug report by Pavan Deolasee.

15 years agoRemove PGINTERVALSTYLE from the set of special environment variables for
Tom Lane [Tue, 25 Nov 2008 19:30:42 +0000 (19:30 +0000)]
Remove PGINTERVALSTYLE from the set of special environment variables for
libpq.  As noted by Peter, adding this variable created a risk of unexpected
connection failures when talking to older server versions, and since it
doesn't do anything you can't do with PGOPTIONS, it doesn't seem really
necessary.  Removing it does occasion a few extra lines in pg_regress.c,
but saving a getenv() call per libpq connection attempt is perhaps worth
that anyway.

15 years agoOmit src/port/pipe.c on non-Windows platforms. It's useless and draws
Tom Lane [Tue, 25 Nov 2008 18:19:31 +0000 (18:19 +0000)]
Omit src/port/pipe.c on non-Windows platforms.  It's useless and draws
complaints about empty object files on some platforms, eg Darwin.

15 years agoIf pg_ctl stop fails, print an error message and exit (instead of going out
Peter Eisentraut [Tue, 25 Nov 2008 11:49:35 +0000 (11:49 +0000)]
If pg_ctl stop fails, print an error message and exit (instead of going out
of our way to ignore the exit status).  If this ever really happens, worst
case you will not see the "score" at the bottom of the test run.

15 years agoDisable FNM_CASEFOLD. Need a proper solution later, but just comment
Magnus Hagander [Mon, 24 Nov 2008 19:19:46 +0000 (19:19 +0000)]
Disable FNM_CASEFOLD. Need a proper solution later, but just comment
it out for now so the buildfarm recovers.

15 years agoMove FAQ_AIX information to installation instructions.
Peter Eisentraut [Mon, 24 Nov 2008 11:59:37 +0000 (11:59 +0000)]
Move FAQ_AIX information to installation instructions.

The information on why the shared libraries are built the way they are
was not relevant to end users and has been made a mailing list archive
link in Makefile.shlib.

15 years agoAdd support for matching wildcard server certificates to the new SSL code.
Magnus Hagander [Mon, 24 Nov 2008 09:15:16 +0000 (09:15 +0000)]
Add support for matching wildcard server certificates to the new SSL code.

This uses the function fnmatch() which is not available on all platforms
(notably Windows), so import the implementation from NetBSD into src/port.

15 years agoCLUSTER VERBOSE and corresponding clusterdb --verbose option
Peter Eisentraut [Mon, 24 Nov 2008 08:46:04 +0000 (08:46 +0000)]
CLUSTER VERBOSE and corresponding clusterdb --verbose option

Jim Cox and Peter Eisentraut

15 years agoTeach RequestCheckpoint() to wait and retry a few times if it can't signal
Tom Lane [Sun, 23 Nov 2008 01:40:19 +0000 (01:40 +0000)]
Teach RequestCheckpoint() to wait and retry a few times if it can't signal
the bgwriter immediately.  This covers the case where the bgwriter is still
starting up, as seen in a recent buildfarm failure.  In future it might also
assist with clean recovery after a bgwriter termination and restart ---
right now the postmaster treats early bgwriter exit as a system crash,
but that might not always be so.

15 years agoSwitch the planner over to treating qualifications of a JOIN_SEMI join as
Tom Lane [Sat, 22 Nov 2008 22:47:06 +0000 (22:47 +0000)]
Switch the planner over to treating qualifications of a JOIN_SEMI join as
though it is an inner rather than outer join type.  This essentially means
that we don't bother to separate "pushed down" qual conditions from actual
join quals at a semijoin plan node; which is okay because the restrictions of
SQL syntax make it impossible to have a pushed-down qual that references the
inner side of a semijoin.  This allows noticeably better optimization of
IN/EXISTS cases than we had before, since the equivalence-class machinery can
now use those quals.  Also fix a couple of other mistakes that had essentially
disabled the ability to unique-ify the inner relation and then join it to just
a subset of the left-hand relations.  An example case using the regression
database is

select * from tenk1 a, tenk1 b
where (a.unique1,b.unique2) in (select unique1,unique2 from tenk1 c);

which is planned reasonably well by 8.3 and earlier but had been forcing a
cartesian join of a/b in CVS HEAD.

15 years agoMinor copy-editing.
Tom Lane [Fri, 21 Nov 2008 20:21:59 +0000 (20:21 +0000)]
Minor copy-editing.

15 years agoFix a few more format argument warnings.
Magnus Hagander [Fri, 21 Nov 2008 20:14:27 +0000 (20:14 +0000)]
Fix a few more format argument warnings.

15 years agoDocument which GUC settings are enums and not strings, along with a short
Magnus Hagander [Fri, 21 Nov 2008 19:42:12 +0000 (19:42 +0000)]
Document which GUC settings are enums and not strings, along with a short
paragraph about what that means.

15 years agoDocs update for enumvals patch.
Magnus Hagander [Fri, 21 Nov 2008 19:31:58 +0000 (19:31 +0000)]
Docs update for enumvals patch.

15 years agoMake the enumvals column of pg_settings be text[] instead of just
Magnus Hagander [Fri, 21 Nov 2008 18:49:24 +0000 (18:49 +0000)]
Make the enumvals column of pg_settings be text[] instead of just
a comma separated string.

15 years agoInclude the platform "FAQs" into the installation instructions.
Peter Eisentraut [Fri, 21 Nov 2008 16:46:19 +0000 (16:46 +0000)]
Include the platform "FAQs" into the installation instructions.
I weeded out some really old information along the way.
FAQ_AIX needs separate consideration and will be dealt with later.

15 years agoUse relation_expr for TABLE command, requested by Tom.
Peter Eisentraut [Fri, 21 Nov 2008 11:47:55 +0000 (11:47 +0000)]
Use relation_expr for TABLE command, requested by Tom.

15 years agoNote that the example aggregate array_accum is comparable to the now
Tom Lane [Thu, 20 Nov 2008 21:10:44 +0000 (21:10 +0000)]
Note that the example aggregate array_accum is comparable to the now
built-in array_agg.  Per suggestion from Robert Haas.

15 years agoIssue a proper error message when MD5 is attempted when
Bruce Momjian [Thu, 20 Nov 2008 20:45:30 +0000 (20:45 +0000)]
Issue a proper error message when MD5 is attempted when
db_user_namespace is enabled.

Also document this limitation.

15 years agoFix breakage of bitmap scan plan creation for special index operators such
Tom Lane [Thu, 20 Nov 2008 19:52:54 +0000 (19:52 +0000)]
Fix breakage of bitmap scan plan creation for special index operators such
as LIKE.  I oversimplified this code when removing support for plan-time
determination of index operator lossiness back in April --- I had thought
create_bitmap_subplan could stop returning two separate lists of qual
conditions, but it still must so that we can treat special operators
correctly in create_bitmap_scan_plan.  Per report from Rushabh Lathia.

15 years agoDon't pass strings directly to errdetail() and errhint() - use
Magnus Hagander [Thu, 20 Nov 2008 15:36:22 +0000 (15:36 +0000)]
Don't pass strings directly to errdetail() and errhint() - use
%s to unescape them. Fixes a potential security issue (in as yet
unreleased code)

15 years agoSilence compiler warning about ignored return value. Our comment already
Magnus Hagander [Thu, 20 Nov 2008 15:03:39 +0000 (15:03 +0000)]
Silence compiler warning about ignored return value. Our comment already
clearly stated that we are aware that we're ignoring it.

15 years agoTABLE command
Peter Eisentraut [Thu, 20 Nov 2008 14:04:46 +0000 (14:04 +0000)]
TABLE command

15 years agoAdd support for using SSL client certificates to authenticate to the
Magnus Hagander [Thu, 20 Nov 2008 11:48:26 +0000 (11:48 +0000)]
Add support for using SSL client certificates to authenticate to the
database (only for SSL connections, obviously).

15 years agoControl client certificate requesting with the pg_hba option "clientcert"
Magnus Hagander [Thu, 20 Nov 2008 09:29:36 +0000 (09:29 +0000)]
Control client certificate requesting with the pg_hba option "clientcert"
instead of just relying on the root certificate file to be present.

15 years agoAdd WITH as a refname to the SELECT reference page.
Peter Eisentraut [Wed, 19 Nov 2008 12:21:57 +0000 (12:21 +0000)]
Add WITH as a refname to the SELECT reference page.

Now "\help WITH" works and there will be a separate WITH(7) man page.

15 years agoRethink the way FSM truncation works. Instead of WAL-logging FSM
Heikki Linnakangas [Wed, 19 Nov 2008 10:34:52 +0000 (10:34 +0000)]
Rethink the way FSM truncation works. Instead of WAL-logging FSM
truncations in FSM code, call FreeSpaceMapTruncateRel from smgr_redo. To
make that cleaner from modularity point of view, move the WAL-logging one
level up to RelationTruncate, and move RelationTruncate and all the
related WAL-logging to new src/backend/catalog/storage.c file. Introduce
new RelationCreateStorage and RelationDropStorage functions that are used
instead of calling smgrcreate/smgrscheduleunlink directly. Move the
pending rel deletion stuff from smgrcreate/smgrscheduleunlink to the new
functions. This leaves smgr.c as a thin wrapper around md.c; all the
transactional stuff is now in storage.c.

This will make it easier to add new forks with similar truncation logic,
like the visibility map.

15 years agoFix compiler warning "res may be used uninitialized in this function".
Teodor Sigaev [Wed, 19 Nov 2008 10:23:21 +0000 (10:23 +0000)]
Fix compiler warning "res may be used uninitialized in this function".
Actually, it can't but some compilers are not smart enough.
Per Peter Eisentraut gripe.

15 years agoChange this script to Perl 5 style. Add support for multiple refnames.
Peter Eisentraut [Wed, 19 Nov 2008 09:51:55 +0000 (09:51 +0000)]
Change this script to Perl 5 style.  Add support for multiple refnames.
Sort the output by command name.  This previously only worked by source
file name, which doesn't always match the command name exactly.  And it
certainly won't work for multiple refnames.

15 years agoAdd "Most Common Implementation" row to high availablity table so the
Bruce Momjian [Wed, 19 Nov 2008 04:46:37 +0000 (04:46 +0000)]
Add "Most Common Implementation" row to high availablity table so the
table is less abstract.  Most common implementations were already
mentioned in the text.

15 years agoAdd auto-explain contrib module for automatic logging of the plans of
Tom Lane [Wed, 19 Nov 2008 02:59:28 +0000 (02:59 +0000)]
Add auto-explain contrib module for automatic logging of the plans of
slow-running queries.

Takahiro Itagaki

15 years agoFix define_custom_variable so that SUSET custom variables behave
Tom Lane [Wed, 19 Nov 2008 02:07:07 +0000 (02:07 +0000)]
Fix define_custom_variable so that SUSET custom variables behave
somewhat reasonably.  It's not perfect, but it beats the kluge
proposed in the auto-explain patch ...

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

15 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

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

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

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

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

15 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

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

15 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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