OSDN Git Service

pg-rex/syncrep.git
17 years agoFixed parser and library to allow empty database names.
Michael Meskes [Tue, 29 Aug 2006 12:24:52 +0000 (12:24 +0000)]
Fixed parser and library to allow empty database names.
Streamlined connection name parsing.
Added Joachim's patch to shorten paths before diffing.

17 years agoRevert change to turn autovacuum on by default.
Peter Eisentraut [Tue, 29 Aug 2006 11:37:47 +0000 (11:37 +0000)]
Revert change to turn autovacuum on by default.

17 years agoOnly call log_after_parse() if necessary.
Bruce Momjian [Tue, 29 Aug 2006 02:32:41 +0000 (02:32 +0000)]
Only call log_after_parse() if necessary.

17 years agoNow bind displays prepare as detail, and execute displays prepare and
Bruce Momjian [Tue, 29 Aug 2006 02:11:30 +0000 (02:11 +0000)]
Now bind displays prepare as detail, and execute displays prepare and
optionally bind.  I re-added the "statement:" label so people will
understand why the line is being printed (it is log_*statement
behavior).

Use single quotes for bind values, instead of double quotes, and double
literal single quotes in bind values (and document that).  I also made
use of the DETAIL line to have much cleaner output.

17 years agoAdd URL:
Bruce Momjian [Mon, 28 Aug 2006 23:22:57 +0000 (23:22 +0000)]
Add URL:

>    http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
>

17 years agoMove to referential integrity section:
Bruce Momjian [Mon, 28 Aug 2006 23:21:46 +0000 (23:21 +0000)]
Move to referential integrity section:

>  o Allow DEFERRABLE and end-of-statement UNIQUE constraints?
>
>    This would allow UPDATE tab SET col = col + 1 to work if col has
>    a unique index.  Currently, uniqueness checks are done while the
>    command is being executed, rather than at the end of the statement
>    or transaction.
>
<
< * Allow DEFERRABLE and end-of-statement UNIQUE constraints?
<
<   This would allow UPDATE tab SET col = col + 1 to work if col has
<   a unique index.  Currently, uniqueness checks are done while the
<   command is being executed, rather than at the end of the statement
<   or transaction.

17 years agoUpdate:
Bruce Momjian [Mon, 28 Aug 2006 23:20:35 +0000 (23:20 +0000)]
Update:

< * Allow DEFERRABLE UNIQUE constraints?
> * Allow DEFERRABLE and end-of-statement UNIQUE constraints?
>
>   This would allow UPDATE tab SET col = col + 1 to work if col has
>   a unique index.  Currently, uniqueness checks are done while the
>   command is being executed, rather than at the end of the statement
>   or transaction.
>

17 years agoFix pgstat_report_waiting() to not dump core if called before
Tom Lane [Mon, 28 Aug 2006 19:38:09 +0000 (19:38 +0000)]
Fix pgstat_report_waiting() to not dump core if called before
pgstat_bestart() has been called; else any lock-block occurring
during InitPostgres() is disastrous.  I believe this explains
recent wasp regression failure; at least it explains the crash I
got while trying to duplicate the problem.  I also made
pgstat_report_activity() safe against the same scenario, just
in case.  The report_waiting hazard was created by my patch of
19-Aug to include waiting status in pg_stat_activity.

17 years agoPartial fix for ecpg's VPATH problems. It compiles and successfully
Tom Lane [Mon, 28 Aug 2006 16:13:11 +0000 (16:13 +0000)]
Partial fix for ecpg's VPATH problems.  It compiles and successfully
builds all the files needed for its regression tests, but the tests
themselves fail because of diffs in the #line directives output by
ecpg itself.  Not sure what to do about that.

17 years agoTweak trivial_subqueryscan() to consider a SubqueryScan's targetlist
Tom Lane [Mon, 28 Aug 2006 14:32:41 +0000 (14:32 +0000)]
Tweak trivial_subqueryscan() to consider a SubqueryScan's targetlist
trivial if it contains either Vars referencing the corresponding subplan
columns, or Consts equaling the corresponding subplan columns.  This
lets the planner eliminate the SubqueryScan in some cases generated by
generate_setop_tlist().

17 years agoTurn autovacuum on by default. (stats_row_level is also on by default.)
Peter Eisentraut [Mon, 28 Aug 2006 13:37:18 +0000 (13:37 +0000)]
Turn autovacuum on by default.  (stats_row_level is also on by default.)
Threshold and scale factor are cut in half for more aggressive behavior.

17 years agoAdd new return codes SPI_OK_INSERT_RETURNING etc to the SPI API.
Tom Lane [Sun, 27 Aug 2006 23:47:58 +0000 (23:47 +0000)]
Add new return codes SPI_OK_INSERT_RETURNING etc to the SPI API.
Fix all the standard PLs to be able to return tuples from FOO_RETURNING
statements as well as utility statements that return tuples.  Also,
fix oversight that SPI_processed wasn't set for a utility statement
returning tuples.  Per recent discussion.

17 years agoAdd some notes about why it's not a bug that RI_FKey_check calls
Tom Lane [Sun, 27 Aug 2006 21:41:21 +0000 (21:41 +0000)]
Add some notes about why it's not a bug that RI_FKey_check calls
HeapTupleSatisfiesItself without doing LockBuffer first.  This code
is a bit fragile, but AFAICS it's not actually broken.

17 years agoAdd a function GetLockConflicts() to lock.c to report xacts holding
Tom Lane [Sun, 27 Aug 2006 19:14:34 +0000 (19:14 +0000)]
Add a function GetLockConflicts() to lock.c to report xacts holding
locks that would conflict with a specified lock request, without
actually trying to get that lock.  Use this instead of the former ad hoc
method of doing the first wait step in CREATE INDEX CONCURRENTLY.
Fixes problem with undetected deadlock and in many cases will allow the
index creation to proceed sooner than it otherwise could've.  Per
discussion with Greg Stark.

17 years agoMove xact.c's partial support for Lists of TransactionIds into pg_list.h.
Tom Lane [Sun, 27 Aug 2006 19:11:46 +0000 (19:11 +0000)]
Move xact.c's partial support for Lists of TransactionIds into pg_list.h.
Needed because lock.c is now going to use the same type of list.

17 years ago- Enabled single-quoted connection targets.
Michael Meskes [Sun, 27 Aug 2006 16:15:42 +0000 (16:15 +0000)]
- Enabled single-quoted connection targets.
- Fixed a memory leak/segfault in unsuccessful connection.
- Some changes to test files.

17 years agoMake saveHistory work properly on OS X when HISTFILE is set to /dev/null.
Tom Lane [Sun, 27 Aug 2006 15:05:20 +0000 (15:05 +0000)]
Make saveHistory work properly on OS X when HISTFILE is set to /dev/null.
Per discussion with Martin Atukunda.

17 years agoChanged double output.
Michael Meskes [Sat, 26 Aug 2006 11:50:00 +0000 (11:50 +0000)]
Changed double output.

17 years agoAdd blank line.
Bruce Momjian [Fri, 25 Aug 2006 23:45:02 +0000 (23:45 +0000)]
Add blank line.

17 years agoAdd blank line.>
Bruce Momjian [Fri, 25 Aug 2006 23:44:04 +0000 (23:44 +0000)]
Add blank line.>

17 years agoAdd:
Bruce Momjian [Fri, 25 Aug 2006 23:43:46 +0000 (23:43 +0000)]
Add:

<
> * Implement SQL:2003 window functions

17 years agoAdd 'feedback' section heading to xml2.
Bruce Momjian [Fri, 25 Aug 2006 23:43:11 +0000 (23:43 +0000)]
Add 'feedback' section heading to xml2.

17 years agoFix regression tests: after changing comparing function
Teodor Sigaev [Fri, 25 Aug 2006 07:39:08 +0000 (07:39 +0000)]
Fix regression tests: after changing comparing function
order is changed.

17 years agoAdd the ability to create indexes 'concurrently', that is, without
Tom Lane [Fri, 25 Aug 2006 04:06:58 +0000 (04:06 +0000)]
Add the ability to create indexes 'concurrently', that is, without
blocking concurrent writes to the table.  Greg Stark, with a little help
from Tom Lane.

17 years agoFix compare bug for tsvector: problem was in aligment. Per Stefan Kaltenbrunner ...
Teodor Sigaev [Thu, 24 Aug 2006 17:37:34 +0000 (17:37 +0000)]
Fix compare bug for tsvector: problem was in aligment. Per Stefan Kaltenbrunner <stefan@kaltenbrunner.cc> and Phil Frost <indigo@bitglue.com>

17 years agoAdd:
Bruce Momjian [Thu, 24 Aug 2006 16:38:13 +0000 (16:38 +0000)]
Add:

> * Allow inlining of set-returning functions

17 years agoSynced parser
Michael Meskes [Thu, 24 Aug 2006 12:31:33 +0000 (12:31 +0000)]
Synced parser

17 years agoNeeded more stuff from c.h.
Michael Meskes [Thu, 24 Aug 2006 10:48:21 +0000 (10:48 +0000)]
Needed more stuff from c.h.

17 years agoFixed of by one variable size.
Michael Meskes [Thu, 24 Aug 2006 10:35:58 +0000 (10:35 +0000)]
Fixed of by one variable size.

17 years agoNeed more defines in ecpg_config.h, patch sent by Rocco Altier <RoccoA@Routescape...
Michael Meskes [Thu, 24 Aug 2006 09:37:07 +0000 (09:37 +0000)]
Need more defines in ecpg_config.h, patch sent by Rocco Altier <RoccoA@Routescape.com>

17 years agoAdd some debug logging code to AllocateFile's failure path to log the
Tom Lane [Thu, 24 Aug 2006 03:15:43 +0000 (03:15 +0000)]
Add some debug logging code to AllocateFile's failure path to log the
specific Windows error code (GetLastError).  This is a hopefully temporary
hack to try to diagnose rare failures.  Magnus Hagander

17 years agoUpdate XML2 documentation for xpath_table().
Bruce Momjian [Thu, 24 Aug 2006 01:41:06 +0000 (01:41 +0000)]
Update XML2 documentation for xpath_table().

John Gray

17 years agoOptimize the case where a btree indexscan has current and mark positions
Tom Lane [Thu, 24 Aug 2006 01:18:34 +0000 (01:18 +0000)]
Optimize the case where a btree indexscan has current and mark positions
on the same index page; we can avoid data copying as well as buffer refcount
manipulations in this common case.  Makes for a small but noticeable
improvement in mergejoin speed.

Heikki Linnakangas

17 years agoAdd "AS" item:
Bruce Momjian [Wed, 23 Aug 2006 18:32:02 +0000 (18:32 +0000)]
Add "AS" item:

< * All backends running as threads in a single process (not want)
> * All backends running as threads in a single process (not wanted)
< * Optimizer hints (not want)
> * Optimizer hints (not wanted)
>
> * Allow AS in "SELECT col AS label" to be optional (not wanted)
>
>   Because we support postfix operators, it isn't possible to make AS
>   optional and continue to use bison.
>   http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php

17 years agoSomehow my version compiled but the change didn't make it to CVS.
Michael Meskes [Wed, 23 Aug 2006 13:57:27 +0000 (13:57 +0000)]
Somehow my version compiled but the change didn't make it to CVS.

17 years agoUsed autoconf 2.59 this time.
Michael Meskes [Wed, 23 Aug 2006 12:59:18 +0000 (12:59 +0000)]
Used autoconf 2.59 this time.

17 years agoArgh, forgot the new file yet again.
Michael Meskes [Wed, 23 Aug 2006 12:51:26 +0000 (12:51 +0000)]
Argh, forgot the new file yet again.

17 years agoReplaced double-quote-fix with a hopefully better version.
Michael Meskes [Wed, 23 Aug 2006 12:01:53 +0000 (12:01 +0000)]
Replaced double-quote-fix with a hopefully better version.
Use initializer string length as size for character strings.
Added ecpg_config.h file that is created via configure.

17 years agoUpdate COPY/VIEW item:
Bruce Momjian [Wed, 23 Aug 2006 02:48:12 +0000 (02:48 +0000)]
Update COPY/VIEW item:

<  o Allow COPY to output from SELECT
>  o Allow COPY (SELECT ...) TO 'filename'
<    COPY should also be able to output views.
>    COPY should also be able to output views using COPY (SELECT
>    * FROM view) TO 'filename' internally.

17 years agoDescriptor values were quoted twice.
Michael Meskes [Tue, 22 Aug 2006 12:46:18 +0000 (12:46 +0000)]
Descriptor values were quoted twice.
Fixed some regression test problems.

17 years agoIn new "invalid byte sequence" error hint, call it "error", not
Bruce Momjian [Tue, 22 Aug 2006 12:11:28 +0000 (12:11 +0000)]
In new "invalid byte sequence" error hint, call it "error", not
"failure".

17 years agoAdd info for get_* functions:
Bruce Momjian [Tue, 22 Aug 2006 03:40:39 +0000 (03:40 +0000)]
Add info for get_* functions:

>
>   These would be for application use, not for use by pg_dump.
>

17 years agoAdd hint for "invalid byte sequence for encoding" error message,
Bruce Momjian [Tue, 22 Aug 2006 03:30:20 +0000 (03:30 +0000)]
Add hint for "invalid byte sequence for encoding" error message,
suggesting review of client_encoding.

17 years agoOoops, ldap fix for win32 broke the non-win32 case.
Tom Lane [Tue, 22 Aug 2006 02:23:45 +0000 (02:23 +0000)]
Ooops, ldap fix for win32 broke the non-win32 case.

17 years agoGeneralize width_bucket() documentation because b1/b2 can be
Bruce Momjian [Tue, 22 Aug 2006 00:49:19 +0000 (00:49 +0000)]
Generalize width_bucket() documentation because b1/b2 can be
interchanged.

17 years agoAdd space between Win2000 and SP4.
Bruce Momjian [Tue, 22 Aug 2006 00:45:34 +0000 (00:45 +0000)]
Add space between Win2000 and SP4.

17 years agoFix encrypted-LDAP support so that it doesn't cause the server to fail
Tom Lane [Mon, 21 Aug 2006 19:21:38 +0000 (19:21 +0000)]
Fix encrypted-LDAP support so that it doesn't cause the server to fail
entirely on older Windows platforms without the needed library function.
Magnus Hagander

17 years agoMinor code rearrangement to save a few cycles in RI_FKey_check when
Tom Lane [Mon, 21 Aug 2006 19:15:29 +0000 (19:15 +0000)]
Minor code rearrangement to save a few cycles in RI_FKey_check when
the subject tuple is already deleted: we need not open the pk_rel
until after we check that.

17 years agoRemove obsolete tip about casting bool to int, per Taiki Yamaguchi.
Tom Lane [Mon, 21 Aug 2006 16:23:46 +0000 (16:23 +0000)]
Remove obsolete tip about casting bool to int, per Taiki Yamaguchi.

17 years agoMake the server track an 'XID epoch', that is, maintain higher-order bits
Tom Lane [Mon, 21 Aug 2006 16:16:31 +0000 (16:16 +0000)]
Make the server track an 'XID epoch', that is, maintain higher-order bits
of the transaction ID counter.  Nothing is done with the epoch except to
store it in checkpoint records, but this provides a foundation with which
add-on code can pretend that XIDs never wrap around.  This is a severely
trimmed and rewritten version of the xxid patch submitted by Marko Kreen.
Per discussion, the epoch counter seems the only part of xxid that really
needs to be in the core server.

17 years agoDone:
Bruce Momjian [Mon, 21 Aug 2006 12:50:29 +0000 (12:50 +0000)]
Done:

<  o Add a function to support Parse/DescribeStatement capability
>  o -Add a function to support Parse/DescribeStatement capability

17 years agoRemove items, not needed anymore:
Bruce Momjian [Mon, 21 Aug 2006 12:20:26 +0000 (12:20 +0000)]
Remove items, not needed anymore:

< * %Disallow changing DEFAULT expression of a SERIAL column?
<
<   This should be done only if the existing SERIAL problems cannot be
<   fixed.
<
< * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
<   does not dump the changes

17 years agoFixed a few memory leaks. One indeed was part of a loop.
Michael Meskes [Mon, 21 Aug 2006 10:48:21 +0000 (10:48 +0000)]
Fixed a few memory leaks. One indeed was part of a loop.

17 years agoFix all known problems with pg_dump's handling of serial sequences
Tom Lane [Mon, 21 Aug 2006 00:57:26 +0000 (00:57 +0000)]
Fix all known problems with pg_dump's handling of serial sequences
by abandoning the idea that it should say SERIAL in the dump.  Instead,
dump serial sequences and column defaults just like regular ones.
Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate
the sequence-to-column dependency that was formerly created "behind the
scenes" by SERIAL.  This restores SERIAL to being truly "just a macro"
consisting of component operations that can be stated explicitly in SQL.
Furthermore, the new command allows sequence ownership to be reassigned,
so that old mistakes can be cleaned up.

Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there
is no longer any very compelling argument why the sequence couldn't be
dropped while keeping the column.  (This forces initdb, to be sure the
right kinds of dependencies are in there.)

Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an
owned sequence; you can now only do this indirectly by changing the
owning table's owner or schema.  This is an oversight in previous
releases, but probably not worth back-patching.

17 years agoFix DROP OWNED BY to correctly consider the implicitly-deleted objects list for
Alvaro Herrera [Sun, 20 Aug 2006 21:56:16 +0000 (21:56 +0000)]
Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list for
each object to be deleted, instead of the previous hack that just skipped
INTERNAL dependencies, which didn't really work.  Per report from Tom Lane.

To do this, introduce a new performMultipleDeletions entry point in
dependency.c to delete multiple objects at once.  The dependency code then has
the responsability of tracking INTERNAL and AUTO dependencies as needed.

Along the way, change ObjectAddresses so that we can allocate an ObjectAddress
list from outside dependency.c and not have to export the internal
representation.

17 years agoFixed a few trivial memory leaks reported by Coverity just to test my setup.
Michael Meskes [Sun, 20 Aug 2006 16:08:09 +0000 (16:08 +0000)]
Fixed a few trivial memory leaks reported by Coverity just to test my setup.

17 years agoAdded another test
Michael Meskes [Sat, 19 Aug 2006 15:10:00 +0000 (15:10 +0000)]
Added another test

17 years agoMore SoC stuff
Michael Meskes [Sat, 19 Aug 2006 13:42:40 +0000 (13:42 +0000)]
More SoC stuff

17 years agoSuppress subquery pullup/pushdown when a subquery contains volatile
Tom Lane [Sat, 19 Aug 2006 02:48:53 +0000 (02:48 +0000)]
Suppress subquery pullup/pushdown when a subquery contains volatile
functions in its targetlist, to avoid introducing multiple evaluations
of volatile functions that textually appear only once.  This is a
slightly tighter version of Jaime Casanova's recent patch.

17 years agoAdd a 'waiting' column to pg_stat_activity to carry the same information
Tom Lane [Sat, 19 Aug 2006 01:36:34 +0000 (01:36 +0000)]
Add a 'waiting' column to pg_stat_activity to carry the same information
that ps_status provides by appending 'waiting' to the PS display.  This
completes the project of making it feasible to turn off process title
updates and instead rely on pg_stat_activity.  Per my suggestion a few
weeks ago.

17 years agoAdd installcheck-parallel target to top level makefiles.
Andrew Dunstan [Fri, 18 Aug 2006 19:58:05 +0000 (19:58 +0000)]
Add installcheck-parallel target to top level makefiles.

17 years agoAdd PQdescribePrepared, PQdescribePortal, and related functions to libpq
Tom Lane [Fri, 18 Aug 2006 19:52:39 +0000 (19:52 +0000)]
Add PQdescribePrepared, PQdescribePortal, and related functions to libpq
to allow obtaining information about previously prepared statements and
open cursors.  Volkan Yazici

17 years agoFixed a buffer overrun that was masked on Linux systems.
Michael Meskes [Fri, 18 Aug 2006 16:30:53 +0000 (16:30 +0000)]
Fixed a buffer overrun that was masked on Linux systems.

17 years agoAdd space before SP4.
Bruce Momjian [Fri, 18 Aug 2006 16:27:40 +0000 (16:27 +0000)]
Add space before SP4.

17 years agoUpdate Win2000SP4 mention.
Bruce Momjian [Fri, 18 Aug 2006 16:26:59 +0000 (16:26 +0000)]
Update Win2000SP4 mention.

17 years agoNow that we've rearranged relation open to get a lock before touching
Tom Lane [Fri, 18 Aug 2006 16:09:13 +0000 (16:09 +0000)]
Now that we've rearranged relation open to get a lock before touching
the rel, it's easy to get rid of the narrow race-condition window that
used to exist in VACUUM and CLUSTER.  Did some minor code-beautification
work in the same area, too.

17 years agoChanged lexer to no longer use the default rule.
Michael Meskes [Fri, 18 Aug 2006 15:59:35 +0000 (15:59 +0000)]
Changed lexer to no longer use the default rule.
Synced parser and keyword list.
Fixed parsing of CONNECT statement so it accepts a C string again.

17 years agoMention only Windows 2000SP4 works.
Bruce Momjian [Fri, 18 Aug 2006 15:51:28 +0000 (15:51 +0000)]
Mention only Windows 2000SP4 works.

17 years agoUpdate Win32 CMD quoting rules information location, CMD /?, from
Bruce Momjian [Fri, 18 Aug 2006 15:47:08 +0000 (15:47 +0000)]
Update Win32 CMD quoting rules information location, CMD /?, from
Magnus.

17 years agoImplement archive_timeout feature to force xlog file switches to occur no more
Tom Lane [Thu, 17 Aug 2006 23:04:10 +0000 (23:04 +0000)]
Implement archive_timeout feature to force xlog file switches to occur no more
than N seconds apart.  This allows a simple, if not very high performance,
means of guaranteeing that a PITR archive is no more than N seconds behind
real time.  Also make pg_current_xlog_location return the WAL Write pointer,
add pg_current_xlog_insert_location to return the Insert pointer, and fix
pg_xlogfile_name_offset to return its results as a two-element record instead
of a smashed-together string, as per recent discussion.

Simon Riggs

17 years agoProduce a clean failure in configure when dtrace is selected but cannot be
Peter Eisentraut [Thu, 17 Aug 2006 17:25:43 +0000 (17:25 +0000)]
Produce a clean failure in configure when dtrace is selected but cannot be
found.  Besides stopping those early who have no dtrace installed
whatsoever, this will also alert those who have dtrace in /usr/sbin, which
might not be in the path, which would produce confusing failures much later
in the build process.

Add documentation about pointing configure to find dtrace.

17 years agoFix an oversight in mergejoin planning: the planner would reject a
Tom Lane [Thu, 17 Aug 2006 17:06:37 +0000 (17:06 +0000)]
Fix an oversight in mergejoin planning: the planner would reject a
mergejoin possibility where the inner rel was less well sorted than
the outer (ie, it matches some but not all of the merge clauses that
can work with the outer), if the inner path in question is also the
overall cheapest path for its rel.  This is an old bug, but I'm not
sure it's worth back-patching, because it's such a corner case.
Noted while investigating a test case from Peter Hardman.

17 years agoTeach convert_subquery_pathkeys() to handle the case where the
Tom Lane [Thu, 17 Aug 2006 17:02:49 +0000 (17:02 +0000)]
Teach convert_subquery_pathkeys() to handle the case where the
subquery's pathkey is a RelabelType applied to something that appears
in the subquery's output; for example where the subquery returns a
varchar Var and the sort order is shown as that Var coerced to text.
This comes up because varchar doesn't have its own sort operator.
Per example from Peter Hardman.

17 years agoAdd:
Bruce Momjian [Thu, 17 Aug 2006 06:48:38 +0000 (06:48 +0000)]
Add:

< * Add support for arrays of domains
>  o Add support for arrays of domains
>  o Add support for arrays of complex types

17 years agoAdd:
Bruce Momjian [Thu, 17 Aug 2006 06:45:12 +0000 (06:45 +0000)]
Add:

> * Support a data type with specific enumerated values (ENUM)
>
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00979.php

17 years agoAdd:
Bruce Momjian [Wed, 16 Aug 2006 14:59:26 +0000 (14:59 +0000)]
Add:

> * Add support for arrays of domains

17 years agoPut probes.o file in right directory, fixes dtrace compilation
Peter Eisentraut [Wed, 16 Aug 2006 14:57:37 +0000 (14:57 +0000)]
Put probes.o file in right directory, fixes dtrace compilation

17 years agoSeems some C compilers think 'restrict' is a fully reserved word.
Tom Lane [Wed, 16 Aug 2006 04:32:49 +0000 (04:32 +0000)]
Seems some C compilers think 'restrict' is a fully reserved word.
Per buildfarm results from warthog.

17 years agoAdd a hack so that get_type_io_data() can work from bootstrap.c's
Tom Lane [Tue, 15 Aug 2006 22:36:17 +0000 (22:36 +0000)]
Add a hack so that get_type_io_data() can work from bootstrap.c's
internal TypInfo table in bootstrap mode.  This allows array_in and
array_out to be used during early bootstrap, which eliminates the
former obstacle to giving OUT parameters to built-in functions.

17 years agoAdd hooks to allow debugging and performance measurement plugins
Tom Lane [Tue, 15 Aug 2006 19:01:17 +0000 (19:01 +0000)]
Add hooks to allow debugging and performance measurement plugins
to instrument PL/pgSQL.  Korry Douglas

17 years agoAdd server support for "plugin" libraries that can be used for add-on tasks
Tom Lane [Tue, 15 Aug 2006 18:26:59 +0000 (18:26 +0000)]
Add server support for "plugin" libraries that can be used for add-on tasks
such as debugging and performance measurement.  This consists of two features:
a table of "rendezvous variables" that allows separately-loaded shared
libraries to communicate, and a new GUC setting "local_preload_libraries"
that allows libraries to be loaded into specific sessions without explicit
cooperation from the client application.  To make local_preload_libraries
as flexible as possible, we do not restrict its use to superusers; instead,
it is restricted to load only libraries stored in $libdir/plugins/.  The
existing LOAD command has also been modified to allow non-superusers to
LOAD libraries stored in this directory.

This patch also renames the existing GUC variable preload_libraries to
shared_preload_libraries (after a suggestion by Simon Riggs) and does some
code refactoring in dfmgr.c to improve clarity.

Korry Douglas, with a little help from Tom Lane.

17 years agoFix pgbench to handle empty lines in script files as documented.
Tatsuo Ishii [Tue, 15 Aug 2006 13:05:30 +0000 (13:05 +0000)]
Fix pgbench to handle empty lines in script files as documented.
patches contributed by Itagaki Takahiro.

17 years agoFixed a typo and made two mallocs Coverity friendly.
Michael Meskes [Tue, 15 Aug 2006 12:46:25 +0000 (12:46 +0000)]
Fixed a typo and made two mallocs Coverity friendly.

17 years agoSorry, forgot the new files.
Michael Meskes [Tue, 15 Aug 2006 06:48:24 +0000 (06:48 +0000)]
Sorry, forgot the new files.

17 years agoAdded lots of SoC stuff made by Joachim.
Michael Meskes [Tue, 15 Aug 2006 06:40:20 +0000 (06:40 +0000)]
Added lots of SoC stuff made by Joachim.
Fixed broken newline on Windows.
Fixed a nasty buffer underrun that only occured when using Informix
no_indicator NULL setting on timestamps and intervals.

17 years agoCause '*' and 'foo.*' notations to mark the referenced RTE(s) as
Tom Lane [Mon, 14 Aug 2006 23:39:32 +0000 (23:39 +0000)]
Cause '*' and 'foo.*' notations to mark the referenced RTE(s) as
requiring read permissions.  Up till now there was no possible case
in which the RTEs wouldn't already have ACL_SELECT set ... but now that
you can say something like 'INSERT INTO foo ... RETURNING *' this is
an essential step.  With this commit, a RETURNING clause adds the
requirement for SELECT permissions on the target table if and only if
the clause actually reads the value of at least one target-table column.

17 years agoFix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we
Tom Lane [Mon, 14 Aug 2006 22:57:15 +0000 (22:57 +0000)]
Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: we
cannot assume that there's exactly one Query in the Portal, as we can for
ONE_SELECT mode, because non-SELECT queries might have extra queries added
during rule rewrites.  Fix things up so that we'll use ONE_RETURNING mode
when a Portal contains one primary (canSetTag) query and that query has
a RETURNING list.  This appears to be a second showstopper reason for running
the Portal to completion before we start to hand anything back --- we want
to be sure that the rule-added queries get run too.

17 years agoSupport INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking
Tom Lane [Mon, 14 Aug 2006 21:14:42 +0000 (21:14 +0000)]
Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking
as per yesterday's proposal.  Also make things a tad more orthogonal by
adding the recent STRICT addition to EXECUTE INTO.
Jonah Harris and Tom Lane

17 years agoWhen executing a list of queries derived from rule expansion,
Tom Lane [Mon, 14 Aug 2006 13:40:18 +0000 (13:40 +0000)]
When executing a list of queries derived from rule expansion,
_SPI_execute_plan's return code should reflect the type of the query
that is marked canSetTag, not necessarily the last one in the list.

This is arguably a bug fix, but I'm hesitant to back-patch it because
it's the sort of subtle change that might break someone's code, and it's
best not to do that kind of thing in point releases.

17 years agoRemove hash_destroy calls in hash_create's failure paths. As noted by
Tom Lane [Mon, 14 Aug 2006 12:39:55 +0000 (12:39 +0000)]
Remove hash_destroy calls in hash_create's failure paths.  As noted by
a Coverity warning, these are risky since the hashtable isn't necessarily
fully set up yet.  They're unnecessary anyway: a deletable hashtable
should be in a memory context that will be cleared following elog(ERROR).
Per report from Martijn van Oosterhout.

17 years agoRevert (again) GUC patch to return commented fields to their default
Bruce Momjian [Mon, 14 Aug 2006 02:27:27 +0000 (02:27 +0000)]
Revert (again) GUC patch to return commented fields to their default
values, due to concern about the patch.

17 years agoGet rid of "lookahead" functionality in plpgsql's yylex() function,
Tom Lane [Mon, 14 Aug 2006 00:46:53 +0000 (00:46 +0000)]
Get rid of "lookahead" functionality in plpgsql's yylex() function,
and instead make the grammar production for the RETURN statement do the
heavy lifting.  The lookahead idea was copied from the main parser, but
it does not work in plpgsql's parser because here gram.y looks explicitly
at the scanner's yytext variable, which will be out of sync after a
failed lookahead step.  A minimal example is

create or replace function foo() returns void language plpgsql as '
begin
  perform return foo bar;
end';

which can be seen by testing to deliver "foo foo bar" to the main parser
instead of the expected "return foo bar".  This isn't a huge bug since
RETURN is not found in the main grammar, but it could bite someone who
tried to use "return" as an identifier.

Back-patch to 8.1.  Bug exists further back, but HEAD patch doesn't apply
cleanly, and given the lack of field complaints it doesn't seem worth
the effort to develop adjusted patches.

17 years agoFix core dump in duration logging for a V3-protocol Execute message
Tom Lane [Sun, 13 Aug 2006 22:18:08 +0000 (22:18 +0000)]
Fix core dump in duration logging for a V3-protocol Execute message
when what's being executed is a COMMIT or ROLLBACK.  Per report from
Sergey Koposov.  Backpatch to 8.1; 8.0 and before don't have the bug
due to lack of any logging at all here.

17 years agoCause psql to report both the returned data and the command status tag
Tom Lane [Sun, 13 Aug 2006 21:10:04 +0000 (21:10 +0000)]
Cause psql to report both the returned data and the command status tag
for INSERT/UPDATE/DELETE RETURNING.  Per discussion.

17 years agoIf test postmaster fails to start within 60 seconds, try to kill -9 it
Tom Lane [Sun, 13 Aug 2006 20:39:07 +0000 (20:39 +0000)]
If test postmaster fails to start within 60 seconds, try to kill -9 it
so that it won't interfere with later trials.  Per recent buildfarm
experience.  Anyone know how to do this on Windows?

17 years agoExtend 'guc' regression test to check manipulations of datestyle as
Tom Lane [Sun, 13 Aug 2006 19:31:06 +0000 (19:31 +0000)]
Extend 'guc' regression test to check manipulations of datestyle as
well as vacuum_cost_delay.  Since datestyle is a string variable,
this exercises memory allocation issues that might not appear when
modifying an integer GUC variable.  Also, we can observe the side
effects of changing datestyle to check that assign hooks are called
at the right times.

17 years agoOriginal coding of 'returning' regression test inadvertently chose a
Tom Lane [Sun, 13 Aug 2006 17:58:49 +0000 (17:58 +0000)]
Original coding of 'returning' regression test inadvertently chose a
nonunique join value, leading to plan-choice-dependent results ... and
it seems some platforms will choose a different plan.  Tweak the test
so that it has well-defined results.  Per report from Olivier Prenant.

17 years agoBack out plperl OUT hash/array parameter patch, again.
Bruce Momjian [Sun, 13 Aug 2006 17:31:10 +0000 (17:31 +0000)]
Back out plperl OUT hash/array parameter patch, again.

17 years agoFix recent guc comment-to-default patch for custom variables.
Bruce Momjian [Sun, 13 Aug 2006 15:37:02 +0000 (15:37 +0000)]
Fix recent guc comment-to-default patch for custom variables.

17 years agoApplied patch for VPATH builds by Alvaro Herrera <alvherre@commandprompt.com>
Michael Meskes [Sun, 13 Aug 2006 10:18:31 +0000 (10:18 +0000)]
Applied patch for VPATH builds by Alvaro Herrera <alvherre@commandprompt.com>
Merged dyntest.pgc and dyntest2.pgc.
Hopefully fixed the last Coverity reports (finally)