OSDN Git Service
Tom Lane [Sat, 5 Aug 2006 17:21:52 +0000 (17:21 +0000)]
Fix inheritance_planner() to delete dummy subplans from its Append plan
list, when some of the child rels have been excluded by constraint
exclusion. This doesn't save a huge amount of time but it'll save some,
and it makes the EXPLAIN output look saner. We already did the
equivalent thing in set_append_rel_pathlist(), but not here.
Michael Meskes [Sat, 5 Aug 2006 16:48:48 +0000 (16:48 +0000)]
Two more changes to regression tests to fix two differences in different setups.
Neil Conway [Sat, 5 Aug 2006 00:29:11 +0000 (00:29 +0000)]
Fix references to the Options section in the pgcrypto documentation.
Patch from Michael Fuhr.
Tom Lane [Sat, 5 Aug 2006 00:22:49 +0000 (00:22 +0000)]
Extend relation_excluded_by_constraints() to check for mutually
contradictory WHERE-clauses applied to a relation. This makes the
GUC variable constraint_exclusion rather inappropriately named,
but I've refrained for the moment from renaming it.
Per example from Martin Lesser.
Tom Lane [Sat, 5 Aug 2006 00:21:14 +0000 (00:21 +0000)]
Teach predicate_refuted_by() how to do proofs involving NOT-clauses.
This doesn't matter too much for ordinary NOTs, since prepqual.c does
its best to get rid of those, but it helps with IS NOT TRUE clauses
which the rule rewriter likes to insert. Per example from Martin Lesser.
Bruce Momjian [Fri, 4 Aug 2006 22:20:06 +0000 (22:20 +0000)]
Add some blank lines for formatting.
Tom Lane [Fri, 4 Aug 2006 21:33:36 +0000 (21:33 +0000)]
Fix domain_in() bug exhibited by Darcy Buskermolen. The idea of an EState
that's shorter-lived than the expression state being evaluated in it really
doesn't work :-( --- we end up with fn_extra caches getting deleted while
still in use. Rather than abandon the notion of caching expression state
across domain_in calls altogether, I chose to make domain_in a bit cozier
with ExprContext. All we really need for evaluating variable-free
expressions is an ExprContext, not an EState, so I invented the notion of a
"standalone" ExprContext. domain_in can prevent resource leakages by doing
a ReScanExprContext on this rather than having to free it entirely; so we
can make the ExprContext have the same lifespan (and particularly the same
per_query memory context) as the expression state structs.
Bruce Momjian [Fri, 4 Aug 2006 18:58:33 +0000 (18:58 +0000)]
#ifdef fix for MSVC builds of libpq.
Hiroshi Saito
Bruce Momjian [Fri, 4 Aug 2006 18:53:46 +0000 (18:53 +0000)]
Improve logging of protocol-level prepared statements.
Bruce Momjian [Fri, 4 Aug 2006 18:32:15 +0000 (18:32 +0000)]
Fix bug in new pg_dump -T/-N handling that was dumping system schemas if
these options were used before -n/-t.
Tom Lane [Fri, 4 Aug 2006 16:54:05 +0000 (16:54 +0000)]
Remove redeclaration of struct sqlca_t --- unnecessary and provokes
warnings on some compilers.
Tom Lane [Fri, 4 Aug 2006 16:42:56 +0000 (16:42 +0000)]
Fix missing 'static' keywords --- some compilers gripe about this.
Tom Lane [Fri, 4 Aug 2006 15:16:14 +0000 (15:16 +0000)]
Fix inadequate quoting in test for AIX xlc.
Tom Lane [Fri, 4 Aug 2006 14:18:09 +0000 (14:18 +0000)]
'make clean' must remove the create subdirectories results/ and log/,
not merely remove their contents. Else 'cvs update' complains.
Tom Lane [Fri, 4 Aug 2006 14:09:51 +0000 (14:09 +0000)]
Teach eval_const_expressions to simplify BooleanTest nodes that have
constant input. Seems worth doing because rule rewriter inserts
IS NOT TRUE tests into WHERE clauses.
Michael Meskes [Fri, 4 Aug 2006 08:52:18 +0000 (08:52 +0000)]
Regression test updates and fixes
Bruce Momjian [Fri, 4 Aug 2006 04:07:38 +0000 (04:07 +0000)]
Slight wording improvement in documentation.
Bruce Momjian [Fri, 4 Aug 2006 03:23:37 +0000 (03:23 +0000)]
Add missing ecpg function prototype needed when in threaded mode ---
supresses compiler warning.
Bruce Momjian [Fri, 4 Aug 2006 01:24:49 +0000 (01:24 +0000)]
Add URL for terminate backend test:
> http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
Tom Lane [Fri, 4 Aug 2006 00:00:14 +0000 (00:00 +0000)]
Add some basic tests of GUC behavior.
Joachim Wieland
Tom Lane [Thu, 3 Aug 2006 20:57:06 +0000 (20:57 +0000)]
Cause ALTER TABLE to perform ALTER COLUMN DROP DEFAULT operations during
the DROP pass rather than the ADD_CONSTR pass. On examining the code I
think this was just an oversight rather than intentional, and it seems
to satisfy the principle of least surprise better than the alternative
solution that was discussed. Add an example to the ref page showing how
to do ALTER TYPE and update the default in one command. Per gripe from
Markus Bertheau that that wasn't possible.
Tom Lane [Thu, 3 Aug 2006 17:04:00 +0000 (17:04 +0000)]
Remove use of a regex character class in resultmap (for freebsd version
check). This isn't supported by pg_regress since the recent rewrite
into C. While we could add char classes to pg_regress.c's code, it's
not really needed at the moment: thanks to Andrew's patch to make
pg_regress always accept the 'standard' comparison file, we can just
drop the version check.
Tom Lane [Thu, 3 Aug 2006 16:04:41 +0000 (16:04 +0000)]
Fix AfterTriggerExecute() to pass tg_trigtuple and tg_newtuple as NULLs
rather than pointers to garbage, when calling AFTER STATEMENT triggers.
Michael Fuhr
Tom Lane [Thu, 3 Aug 2006 15:22:09 +0000 (15:22 +0000)]
Add missing pgstat_count_index_scan(), per Andreas Seltenreich.
Tom Lane [Thu, 3 Aug 2006 14:54:44 +0000 (14:54 +0000)]
A few regression tests for VALUES, from Gavin Sherry.
Michael Meskes [Thu, 3 Aug 2006 14:50:11 +0000 (14:50 +0000)]
Removed compiler warnings
Michael Meskes [Thu, 3 Aug 2006 13:11:04 +0000 (13:11 +0000)]
Applied test suite update by Joachim Wieland <joe@mcknight.de>.
Bruce Momjian [Wed, 2 Aug 2006 21:48:43 +0000 (21:48 +0000)]
Move 'ddl' right after 'none' in postgresql.conf. It used to be between
'mod' and 'all', which is not the right order. SGML documentation order
was correct. Report from Chander Ganesan.
Bruce Momjian [Wed, 2 Aug 2006 21:43:43 +0000 (21:43 +0000)]
Fix logic to prevent pg_dump from dumping system schemas; bug introduced
in recent -t/-n/-T/-N patch.
Small style cleanups.
Andrew Dunstan [Wed, 2 Aug 2006 19:02:34 +0000 (19:02 +0000)]
remove extraneous space after -L flag.
Tom Lane [Wed, 2 Aug 2006 18:58:21 +0000 (18:58 +0000)]
Arrange for ValuesScan to keep per-sublist expression eval state in a
temporary context that can be reset when advancing to the next sublist.
This is faster and more thorough at recovering space than the previous
method; moreover it will do the right thing if something in the sublist
tries to register an expression context callback.
Tom Lane [Wed, 2 Aug 2006 16:29:49 +0000 (16:29 +0000)]
Fix documentation error: GRANT/REVOKE for roles only accept role names
as grantees, not PUBLIC ... and you can't say GROUP either. Noted by
Brian Hurt.
Michael Meskes [Wed, 2 Aug 2006 14:19:14 +0000 (14:19 +0000)]
And finally the Makefiles
Tom Lane [Wed, 2 Aug 2006 14:14:22 +0000 (14:14 +0000)]
Wups, got the test for contain_vars_of_level-not-needed wrong in
transformInsertStmt: the target table is already in p_rtable at that point.
Michael Meskes [Wed, 2 Aug 2006 14:14:04 +0000 (14:14 +0000)]
Hopefully that's it. The remaining files for ecpg regression tests.
Tom Lane [Wed, 2 Aug 2006 13:58:52 +0000 (13:58 +0000)]
Add a HINT per suggestion from Michael Glaesemann. Also, tweak OLD/NEW
test to avoid expensive contain_vars_of_level() scan in the normal case
where we're not inside a rule.
Michael Meskes [Wed, 2 Aug 2006 13:53:45 +0000 (13:53 +0000)]
Some more regression test files
Michael Meskes [Wed, 2 Aug 2006 13:52:11 +0000 (13:52 +0000)]
One more file to remove
Michael Meskes [Wed, 2 Aug 2006 13:51:32 +0000 (13:51 +0000)]
Removed old test files
Michael Meskes [Wed, 2 Aug 2006 13:43:23 +0000 (13:43 +0000)]
ynced parser and keyword list.
Implemented EXEC SQL UNDEF.
Applied first version of the regression test patch by Joachim Wieland <joe@mcknight.de>.
Bruce Momjian [Wed, 2 Aug 2006 13:36:45 +0000 (13:36 +0000)]
Update:
< o Add COPY TO STDIN / STDOUT handling
> o Add COPY TO STDIN handling
Bruce Momjian [Wed, 2 Aug 2006 13:29:54 +0000 (13:29 +0000)]
Add:
> o In rules, allow VALUES() to contain a mixture of 'old' and 'new'
> references
Bruce Momjian [Wed, 2 Aug 2006 03:11:54 +0000 (03:11 +0000)]
Done:
o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
Joe Conway [Wed, 2 Aug 2006 01:59:48 +0000 (01:59 +0000)]
Add support for multi-row VALUES clauses as part of INSERT statements
(e.g. "INSERT ... VALUES (...), (...), ...") and elsewhere as allowed
by the spec. (e.g. similar to a FROM clause subselect). initdb required.
Joe Conway and Tom Lane.
Bruce Momjian [Tue, 1 Aug 2006 21:05:00 +0000 (21:05 +0000)]
Fix bug I introduced while cleaning up pg_dump -t/-n patch.
Alvaro Herrera [Tue, 1 Aug 2006 19:17:18 +0000 (19:17 +0000)]
Editorialize a bit on the recent patch, reverting to the original versions
of the text where appropiate.
Bruce Momjian [Tue, 1 Aug 2006 19:03:11 +0000 (19:03 +0000)]
Add support for loadable modules to allocated shared memory and
lightweight locks.
Marc Munro
Bruce Momjian [Tue, 1 Aug 2006 18:21:44 +0000 (18:21 +0000)]
Add pg_dump -X no-data-for-failed-tables option to suppress loading data
if table creation failed (the table already exists).
Martin Pitt
Bruce Momjian [Tue, 1 Aug 2006 18:07:36 +0000 (18:07 +0000)]
Done:
< o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
<
< http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
<
> o -Allow pg_dump to use multiple -t and -n switches, exclusion
> ability, and regular expression object matching
Bruce Momjian [Tue, 1 Aug 2006 18:06:27 +0000 (18:06 +0000)]
Remove TODO.detail/pg_dump.
Bruce Momjian [Tue, 1 Aug 2006 18:05:04 +0000 (18:05 +0000)]
Allow multiple -n (schema) and -t (table) pg_dump options, and add -T
and -N options to exclude objects. Also support regular expressions for
option object names.
Greg Sabino Mullane
Bruce Momjian [Tue, 1 Aug 2006 18:01:36 +0000 (18:01 +0000)]
Remove extra argument to printf().
Andrew Dunstan [Tue, 1 Aug 2006 14:56:29 +0000 (14:56 +0000)]
have pg_regress fall back on testing with the canonical results file if an
alternative test is specified but none succeeds.
Bruce Momjian [Tue, 1 Aug 2006 00:09:06 +0000 (00:09 +0000)]
Improvements to Maintenance and External Projects documentation.
Joshua D. Drake
Robert Treat
Bruce Momjian [Mon, 31 Jul 2006 23:04:13 +0000 (23:04 +0000)]
Add:
> * Consider compressed annealing to search for query plans
>
> This might replace GEQO, http://sixdemonbag.org/Djinni.
Tom Lane [Mon, 31 Jul 2006 20:09:10 +0000 (20:09 +0000)]
Change the relation_open protocol so that we obtain lock on a relation
(table or index) before trying to open its relcache entry. This fixes
race conditions in which someone else commits a change to the relation's
catalog entries while we are in process of doing relcache load. Problems
of that ilk have been reported sporadically for years, but it was not
really practical to fix until recently --- for instance, the recent
addition of WAL-log support for in-place updates helped.
Along the way, remove pg_am.amconcurrent: all AMs are now expected to support
concurrent update.
Michael Meskes [Mon, 31 Jul 2006 13:26:46 +0000 (13:26 +0000)]
Added missing ECPGget_sqlca() call
Michael Meskes [Mon, 31 Jul 2006 10:15:31 +0000 (10:15 +0000)]
First small patches needed for regression tests
Tatsuo Ishii [Mon, 31 Jul 2006 05:15:14 +0000 (05:15 +0000)]
Fix memory allocation bug in pgbench.
patches submitted by ITAGAKI Takahiro.
Tom Lane [Mon, 31 Jul 2006 01:16:38 +0000 (01:16 +0000)]
Change the bootstrap sequence so that toast tables for system catalogs are
created in the bootstrap phase proper, rather than added after-the-fact
by initdb. This is cleaner than before because it allows us to retire the
undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
I'm doing it is so that toast tables of shared catalogs will now have
predetermined OIDs. This will allow a reasonably clean solution to the
problem of locking tables before we load their relcache entries, to appear
in a forthcoming patch.
Alvaro Herrera [Mon, 31 Jul 2006 01:10:56 +0000 (01:10 +0000)]
Fix confusion between COPY FROM and COPY TO, per Gavin Sharry and Arul Shaji.
Tom Lane [Sun, 30 Jul 2006 20:17:11 +0000 (20:17 +0000)]
Fix a couple of comments.
Michael Meskes [Sun, 30 Jul 2006 16:28:58 +0000 (16:28 +0000)]
Replaced $Header$ by $§PosgreSQL$
Michael Meskes [Sun, 30 Jul 2006 10:24:10 +0000 (10:24 +0000)]
Added missing $Header$ entries.
Alvaro Herrera [Sun, 30 Jul 2006 02:07:18 +0000 (02:07 +0000)]
Modify snapshot definition so that lazy vacuums are ignored by other
vacuums. This allows a OLTP-like system with big tables to continue
regular vacuuming on small-but-frequently-updated tables while the
big tables are being vacuumed.
Original patch from Hannu Krossing, rewritten by Tom Lane and updated
by me.
Bruce Momjian [Sun, 30 Jul 2006 01:48:40 +0000 (01:48 +0000)]
Add:
> * Consider detoasting keys before sorting
Bruce Momjian [Sun, 30 Jul 2006 01:45:21 +0000 (01:45 +0000)]
Fix WIN32 wait() return value macros to be accurate, particularly
because they are used for testing the return value from system().
(WIN32 doesn't overlay the return code with other failure conditions
like Unix does, so they are just simple macros.)
Fix regression checks to properly handle diff failures on Win32 using
the new macros.
Andrew Dunstan [Sat, 29 Jul 2006 19:55:18 +0000 (19:55 +0000)]
prevent multiplexing Windows kernel event objects we listen for across various sockets - should fix the occasional stats test regression failures we see.
Bruce Momjian [Sat, 29 Jul 2006 18:08:36 +0000 (18:08 +0000)]
Add entry:
> * Add column to pg_stat_activity that shows the progress of long-running
> commands like CREATE INDEX and VACUUM
Bruce Momjian [Sat, 29 Jul 2006 17:35:07 +0000 (17:35 +0000)]
Don't use #include <crtdefs.h> for MSVC <= 1400.
Hiroshi Saito
Bruce Momjian [Sat, 29 Jul 2006 15:56:32 +0000 (15:56 +0000)]
Add:
> * Add support for SQL-standard GENERATED/IDENTITY columns
>
> http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php
Bruce Momjian [Sat, 29 Jul 2006 15:22:27 +0000 (15:22 +0000)]
Add #include postgres_fe.h in two win32-specific files, because there is
pg-specific code in those files, or might be some day.
Tom Lane [Sat, 29 Jul 2006 03:02:56 +0000 (03:02 +0000)]
Adjust initialization sequence for timezone_abbreviations so that
it's handled just about like timezone; in particular, don't try
to read anything during InitializeGUCOptions. Should solve current
startup failure on Windows, and avoid wasted cycles if a nondefault
setting is specified in postgresql.conf too. Possibly we need to
think about a more general solution for handling 'expensive to set'
GUC options.
Tatsuo Ishii [Fri, 28 Jul 2006 22:58:26 +0000 (22:58 +0000)]
Change the delta val from 0 and 10000 to -5000 and 5000 per recent
discussion in hackers list. Also enhance predefined benchmark
scenarios to reflect the scaling factor parameter flexibly.
Bruce Momjian [Fri, 28 Jul 2006 19:28:08 +0000 (19:28 +0000)]
Remove update TODO.detail item.
Bruce Momjian [Fri, 28 Jul 2006 19:00:45 +0000 (19:00 +0000)]
Updates per Tom:
> * Allow DISTINCT to work in multiple-argument aggregate calls
< o Allow UPDATE to handle complex aggregates [update]?
Tom Lane [Fri, 28 Jul 2006 18:33:04 +0000 (18:33 +0000)]
SQL2003-standard statistical aggregates, by Sergey Koposov. I've added only
the float8 versions of the aggregates, which is all that the standard requires.
Sergey's original patch also provided versions using numeric arithmetic,
but given the size and slowness of the code, I doubt we ought to include
those in core.
Tom Lane [Fri, 28 Jul 2006 16:21:57 +0000 (16:21 +0000)]
Fix table title.
Tom Lane [Fri, 28 Jul 2006 15:33:17 +0000 (15:33 +0000)]
Make it clearer that not every Postgres character set can be used as a
server-side character set.
Bruce Momjian [Fri, 28 Jul 2006 12:24:07 +0000 (12:24 +0000)]
Update Tatsuo:
< * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
> * Tatsuo is Tatsuo Ishii <ishii@sraoss.co.jp> of SRA OSS, Inc. Japan
Michael Meskes [Fri, 28 Jul 2006 11:49:36 +0000 (11:49 +0000)]
Variables should be free'ed only once.
Michael Meskes [Fri, 28 Jul 2006 10:12:56 +0000 (10:12 +0000)]
Removed superfluous comment
Michael Meskes [Fri, 28 Jul 2006 10:10:42 +0000 (10:10 +0000)]
And one more:
Connection identifier has to be unique
Michael Meskes [Fri, 28 Jul 2006 09:08:01 +0000 (09:08 +0000)]
Added more SoC changes by Joachim Wieland <joe@mcknight.de>:
- SHOW statement puts result into a variable
- COPY TO STDOUT works
Bruce Momjian [Thu, 27 Jul 2006 22:05:49 +0000 (22:05 +0000)]
Add URL for UPDATE/SET for multiple values.
Bruce Momjian [Thu, 27 Jul 2006 22:01:34 +0000 (22:01 +0000)]
Add for UPDATE SET for multiple values:
>
> A subselect can also be used as the value source.
Tom Lane [Thu, 27 Jul 2006 21:55:09 +0000 (21:55 +0000)]
Fix incorrect function return code in cube_cmp and cube_dim;
update regression expected files to what I think is correct.
Andrew Dunstan [Thu, 27 Jul 2006 19:58:39 +0000 (19:58 +0000)]
revert last change - broke non-AIX platforms.
Tom Lane [Thu, 27 Jul 2006 19:52:07 +0000 (19:52 +0000)]
Aggregate functions now support multiple input arguments. I also took
the opportunity to treat COUNT(*) as a zero-argument aggregate instead
of the old hack that equated it to COUNT(1); this is materially cleaner
(no more weird ANYOID cases) and ought to be at least a tiny bit faster.
Original patch by Sergey Koposov; review, documentation, simple regression
tests, pg_dump and psql support by moi.
Andrew Dunstan [Thu, 27 Jul 2006 18:38:54 +0000 (18:38 +0000)]
another try at keeping AIX/ppc happy on cube test.
Andrew Dunstan [Thu, 27 Jul 2006 16:12:36 +0000 (16:12 +0000)]
fix most regression tests for new cube code.
Tom Lane [Thu, 27 Jul 2006 15:37:19 +0000 (15:37 +0000)]
Original coding of pg_regress.c made the results and log directories
with restrictive permissions, which was not the behavior of the shell
script and doesn't seem very desirable. Use the umask setting instead.
Bruce Momjian [Thu, 27 Jul 2006 13:20:24 +0000 (13:20 +0000)]
Allow LDAP lookups from pg_service.conf.
Albe Laurenz
Peter Eisentraut [Thu, 27 Jul 2006 08:30:41 +0000 (08:30 +0000)]
Allow units to be specified with configuration settings.
Tom Lane [Wed, 26 Jul 2006 19:31:51 +0000 (19:31 +0000)]
Code review for bigint-LIMIT patch. Fix missed planner dependency,
eliminate unnecessary code, force initdb because stored rules change
(limit nodes are now supposed to be int8 not int4 expressions).
Update comments and error messages, which still all said 'integer'.
Bruce Momjian [Wed, 26 Jul 2006 17:23:02 +0000 (17:23 +0000)]
Reorder items:
< o Allow point-in-time recovery to archive partially filled
< write-ahead logs? [pitr]
> o Add command to archive partially filled write-ahead logs? [pitr]
< of a disk failure. This could be triggered by a user command or
< a timer.
> of a disk failure.
< recovery. A function call to do this would also be useful.
> recovery.
> o Add reporting of the current WAL file and offset, perhaps as
> part of partial log file archiving
>
> The offset allows parts of a WAL file to be archived using
> an external program.
>
< o Add reporting of the current WAL file and offset, perhaps as
< part of partial log file archiving
<
< The offset allows parts of a WAL file to be archived using
< an external program.
Bruce Momjian [Wed, 26 Jul 2006 17:17:28 +0000 (17:17 +0000)]
Work around bug in strxfmt() but in MS VS2005.
William ZHANG
Peter Eisentraut [Wed, 26 Jul 2006 11:39:47 +0000 (11:39 +0000)]
When a GUC string variable is not set, print the empty string (in SHOW etc.),
not "unset". An "unset" state doesn't really exist; all variables behave
like an empty string value if the string being pointed to has not been
initialized.
Peter Eisentraut [Wed, 26 Jul 2006 11:35:56 +0000 (11:35 +0000)]
Convert effective_cache_size to an integer, for better integration with
upcoming units feature.
Tatsuo Ishii [Wed, 26 Jul 2006 07:24:50 +0000 (07:24 +0000)]
New features contributed by Tomoaki Sato.
- predefined variable "tps"
The value of variable tps is taken from the scaling factor
specified by -s option.
- -D option
Variable values can be defined by -D option.
- \set command now allows arithmetic calculations.