OSDN Git Service

pg-rex/syncrep.git
15 years agoTeach the planner to treat a partial unique index as proving a variable is
Tom Lane [Sun, 15 Feb 2009 20:16:21 +0000 (20:16 +0000)]
Teach the planner to treat a partial unique index as proving a variable is
unique for a particular query, if the index predicate is satisfied.  This
requires a bit of reordering of operations so that we check the predicates
before doing any selectivity estimates, but shouldn't really cause any
noticeable slowdown.  Per a comment from Michal Politowski.

15 years agoMinor wordsmithing.
Tom Lane [Sun, 15 Feb 2009 18:28:48 +0000 (18:28 +0000)]
Minor wordsmithing.

15 years agoLoop calling CallNamedPipe() several times in case it fails,
Magnus Hagander [Sun, 15 Feb 2009 13:58:18 +0000 (13:58 +0000)]
Loop calling CallNamedPipe() several times in case it fails,
since it can be transient failures, causing kill() to not
properly send signals.

Original patch from Steve Marshall, modified by me.

15 years agoA couple of marginal performance hacks for the information_schema views:
Tom Lane [Sat, 14 Feb 2009 20:48:36 +0000 (20:48 +0000)]
A couple of marginal performance hacks for the information_schema views:
replace the old recursive-SQL-function implementation of _pg_keysequal()
with use of the built-in array containment operators, and change
table_constraints' UNION to UNION ALL.  Per discussion with Octavio Alvarez.

initdb not forced since this doesn't affect results, but you'd need to
initdb or reload the information_schema to see the new definitions.

15 years agoFix UNLISTEN to fall out quickly if the current backend has never executed
Tom Lane [Fri, 13 Feb 2009 17:12:04 +0000 (17:12 +0000)]
Fix UNLISTEN to fall out quickly if the current backend has never executed
any LISTEN command.  This is more important than it used to be because
DISCARD ALL invokes UNLISTEN.  Connection-pooled applications making heavy
use of DISCARD ALL were seeing significant contention for pg_listener,
as reported by Matteo Beccati.  It seems unlikely that clients using LISTEN
would use pooled connections, so this simple tweak seems sufficient,
especially since the pg_listener implementation is slated to go away soon
anyway.

Back-patch to 8.3, where DISCARD ALL was introduced.

15 years agodo not use unsetenv.c on mingw
Andrew Dunstan [Thu, 12 Feb 2009 15:12:47 +0000 (15:12 +0000)]
do not use unsetenv.c on mingw

15 years agoThe Czech (cs_CZ) and Slovak (sk_SK) locales sort numbers after letters,
Peter Eisentraut [Thu, 12 Feb 2009 15:11:44 +0000 (15:11 +0000)]
The Czech (cs_CZ) and Slovak (sk_SK) locales sort numbers after letters,
instead of vice versa.  Update the regression test expectations to support
that.  In the plpgsql test, adjust the test data so that this isn't an
issue.  In the char and varchar tests, add new expected files.

15 years agoUnset language-related locale settings in any case, otherwise psql will
Peter Eisentraut [Thu, 12 Feb 2009 13:26:03 +0000 (13:26 +0000)]
Unset language-related locale settings in any case, otherwise psql will
speak in tongues and mess up the regression test diffs.

15 years agoRemove tabs from SGML.
Bruce Momjian [Thu, 12 Feb 2009 13:25:33 +0000 (13:25 +0000)]
Remove tabs from SGML.

15 years agoDon't call SetEnvironmentVariable() when removing an environment variable,
Magnus Hagander [Thu, 12 Feb 2009 12:53:34 +0000 (12:53 +0000)]
Don't call SetEnvironmentVariable() when removing an environment variable,
as this seems to crash on at least some versions of MingW. Our current usage
of this function does not require it, so it should be ok to ignore.

15 years agoChange ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
Tom Lane [Wed, 11 Feb 2009 21:11:16 +0000 (21:11 +0000)]
Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
get rid of the OID column.  This eliminates the problem discovered by Heikki
back in November that 8.4's suppression of "unnecessary" junk filtering in
INSERT/SELECT could lead to an Assert failure, or storing of oids into a table
that shouldn't have them if Asserts are off.  While that particular problem
could have been solved in other ways, it seems likely to be just a forerunner
of things to come if we continue to allow tables to contain rows that disagree
with the pg_class.relhasoids setting.  It's better to make this operation slow
than to sacrifice performance or risk bugs in more common code paths.

Also, add ALTER TABLE SET WITH OIDS to rewrite the table to add oids.
This was a bit more controversial, but in view of the very small amount of
extra code needed given the current ALTER TABLE infrastructure, it seems best
to eliminate the asymmetry in features.

15 years agoTweak configure to attempt to add -qnoansialias to CFLAGS whenever running
Tom Lane [Wed, 11 Feb 2009 20:02:40 +0000 (20:02 +0000)]
Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running
on AIX with a non-gcc compiler.  The previous coding would do this only if
CC was exactly "xlc"; which is a bad idea, as demonstrated by trouble report
from Mihai Criveti.

15 years agoImprove psql \d+ to show TOAST reloptions too. Per complaint from
Alvaro Herrera [Wed, 11 Feb 2009 19:12:04 +0000 (19:12 +0000)]
Improve psql \d+ to show TOAST reloptions too.  Per complaint from
ITAGAKI Takahiro.

15 years agoOnly unset the locale environment when --no-locale is used (the way it was
Peter Eisentraut [Wed, 11 Feb 2009 14:03:42 +0000 (14:03 +0000)]
Only unset the locale environment when --no-locale is used (the way it was
presumably designed, but didn't act).  This allows running the temp install
tests in a non-C locale, thus exercising users' real environments better.
Document how to change locales for test runs.

15 years agoClarify PQinitSSL() documentation to mention what the argument controls.
Bruce Momjian [Wed, 11 Feb 2009 04:08:47 +0000 (04:08 +0000)]
Clarify PQinitSSL() documentation to mention what the argument controls.

15 years agoSupport for KOI8U encoding
Peter Eisentraut [Tue, 10 Feb 2009 19:29:39 +0000 (19:29 +0000)]
Support for KOI8U encoding

15 years agoRemove the encoding *numbers* from the comments. They are useless, and
Peter Eisentraut [Tue, 10 Feb 2009 16:44:44 +0000 (16:44 +0000)]
Remove the encoding *numbers* from the comments.  They are useless, and
make maintenance harder.

15 years agoAdd possibility to generate only some files, by passing command-line
Peter Eisentraut [Tue, 10 Feb 2009 16:36:55 +0000 (16:36 +0000)]
Add possibility to generate only some files, by passing command-line
arguments.

15 years agoUpdate wording of how to prevent pg_dump from affecting statistics
Bruce Momjian [Tue, 10 Feb 2009 00:55:21 +0000 (00:55 +0000)]
Update wording of how to prevent pg_dump from affecting statistics
collection.

15 years agoAdopt Bob Jenkins' improved hash function for hash_any(). This changes the
Tom Lane [Mon, 9 Feb 2009 21:18:28 +0000 (21:18 +0000)]
Adopt Bob Jenkins' improved hash function for hash_any().  This changes the
contents of hash indexes (again), so bump catversion.

Kenneth Marshall

15 years agoUpdate autovacuum to use reloptions instead of a system catalog, for
Alvaro Herrera [Mon, 9 Feb 2009 20:57:59 +0000 (20:57 +0000)]
Update autovacuum to use reloptions instead of a system catalog, for
per-table overrides of parameters.

This removes a whole class of problems related to misusing the catalog,
and perhaps more importantly, gives us pg_dump support for the parameters.

Based on a patch by Euler Taveira de Oliveira, heavily reworked by me.

15 years agoFix spelling error in docs.
Bruce Momjian [Mon, 9 Feb 2009 14:09:56 +0000 (14:09 +0000)]
Fix spelling error in docs.

Erik Rijkers

15 years agoEnsure that INSERT ... SELECT into a table with OIDs never copies row OIDs
Tom Lane [Sun, 8 Feb 2009 18:02:27 +0000 (18:02 +0000)]
Ensure that INSERT ... SELECT into a table with OIDs never copies row OIDs
from the source table.  This could never happen anyway before 8.4 because
the executor invariably applied a "junk filter" to rows due to be inserted;
but now that we skip doing that when it's not necessary, the case can occur.
Problem noted 2008-11-27 by KaiGai Kohei, though I misunderstood what he
was on about at the time (the opacity of the patch he proposed didn't help).

15 years agoDocument that LIMIT NULL is the same as no LIMIT clause.
Bruce Momjian [Sat, 7 Feb 2009 20:11:16 +0000 (20:11 +0000)]
Document that LIMIT NULL is the same as no LIMIT clause.

15 years agoRemove documentation mention that hash indexes perform no better than
Bruce Momjian [Sat, 7 Feb 2009 20:05:44 +0000 (20:05 +0000)]
Remove documentation mention that hash indexes perform no better than
btree;  keep mention about missing WAL logging.

Kenneth Marshall

15 years agoUppercase CHECK mention in relchecks documentation mention.
Bruce Momjian [Sat, 7 Feb 2009 19:27:25 +0000 (19:27 +0000)]
Uppercase CHECK mention in relchecks documentation mention.

15 years agoecpg requires libpq; add Makefile rules to require libpq to be built
Bruce Momjian [Sat, 7 Feb 2009 17:17:34 +0000 (17:17 +0000)]
ecpg requires libpq;  add Makefile rules to require libpq to be built
first.

Alvaro Herrera

15 years agoProperly wrap new pg_dump doc text.
Bruce Momjian [Sat, 7 Feb 2009 15:25:51 +0000 (15:25 +0000)]
Properly wrap new pg_dump doc text.

15 years agoUpdate pg_constraint.conkey documentation description.
Bruce Momjian [Sat, 7 Feb 2009 15:00:27 +0000 (15:00 +0000)]
Update pg_constraint.conkey documentation description.

15 years agoDocument disabling the statistics collector pg_dump activity, and give a
Bruce Momjian [Sat, 7 Feb 2009 14:31:30 +0000 (14:31 +0000)]
Document disabling the statistics collector pg_dump activity, and give a
bit more visibility to the PGOPTIONS environment variable supported by
libpq.

Bryce Nesbitt

15 years agoFix to_timestamp() to not require upper/lower case matching for meridian
Bruce Momjian [Sat, 7 Feb 2009 14:16:46 +0000 (14:16 +0000)]
Fix to_timestamp() to not require upper/lower case matching for meridian
designations (AM/PM).  Also separate out matching of a meridian with
periods (e.g. A.M.) and with those without.

Do the same for AD/BC.

Brendan Jurd

15 years agoFix obsolete comment. Zdenek Kotala
Heikki Linnakangas [Sat, 7 Feb 2009 10:49:36 +0000 (10:49 +0000)]
Fix obsolete comment. Zdenek Kotala

15 years agoSet column privileges to supported
Peter Eisentraut [Sat, 7 Feb 2009 01:02:55 +0000 (01:02 +0000)]
Set column privileges to supported

15 years agoFix cost_mergejoin's failure to adjust for rescanning of non-unique merge join
Tom Lane [Fri, 6 Feb 2009 23:43:24 +0000 (23:43 +0000)]
Fix cost_mergejoin's failure to adjust for rescanning of non-unique merge join
keys when considering a semi or anti join.  This requires estimating the
selectivity of the merge qual as though it were a regular inner join condition.
To allow caching both that and the real outer-join-aware selectivity, split
RestrictInfo.this_selec into two fields.

This fixes one of the problems reported by Kevin Grittner.

15 years agoOoops, forgot to update COPY reference page to mention column privileges.
Tom Lane [Fri, 6 Feb 2009 21:22:49 +0000 (21:22 +0000)]
Ooops, forgot to update COPY reference page to mention column privileges.

15 years agoClean up some loose ends from the column privileges patch: add
Tom Lane [Fri, 6 Feb 2009 21:15:12 +0000 (21:15 +0000)]
Clean up some loose ends from the column privileges patch: add
has_column_privilege and has_any_column_privilege SQL functions; fix the
information_schema views that are supposed to pay attention to column
privileges; adjust pg_stats to show stats for any column you have select
privilege on; and fix COPY to allow copying a subset of columns if the user
has suitable per-column privileges for all the columns.

To improve efficiency of some of the information_schema views, extend the
has_xxx_privilege functions to allow inquiring about the OR of a set of
privileges in just one call.  This is just exposing capability that already
existed in the underlying aclcheck routines.

In passing, make the information_schema views report the owner's own
privileges as being grantable, since Postgres assumes this even when the grant
option bit is not set in the ACL.  This is a longstanding oversight.

Also, make the new has_xxx_privilege functions for foreign data objects follow
the same coding conventions used by the older ones.

Stephen Frost and Tom Lane

15 years agoFix typo in docs.
Bruce Momjian [Fri, 6 Feb 2009 19:24:12 +0000 (19:24 +0000)]
Fix typo in docs.

15 years agoDocument ways to avoid libpq WSACleanup() overhead on Windows.
Bruce Momjian [Fri, 6 Feb 2009 18:18:54 +0000 (18:18 +0000)]
Document ways to avoid libpq WSACleanup() overhead on Windows.

Andrew Chernow

15 years agoAdd PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY
Bruce Momjian [Thu, 5 Feb 2009 15:25:49 +0000 (15:25 +0000)]
Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY
statement

Pavel Stehule

15 years agoMixing long and int entries of a union only works on some architectures.
Michael Meskes [Thu, 5 Feb 2009 08:28:47 +0000 (08:28 +0000)]
Mixing long and int entries of a union only works on some architectures.

15 years agoFix an old corner-case error in match_unsorted_outer(): don't consider
Tom Lane [Thu, 5 Feb 2009 01:24:55 +0000 (01:24 +0000)]
Fix an old corner-case error in match_unsorted_outer(): don't consider
the cheapest-total inner path as a new candidate while truncating the
sort key list, if it already matched the full sort key list.  This is
too much of a corner case to be worth back-patching, since it's unusual
for the cheapest total path to be sorted, and anyway no real harm is
done (except in JOIN_SEMI/ANTI cases where cost_mergejoin is a bit
broken at the moment).  But it wasn't behaving as intended, so fix it.
Noted while examining a test case from Kevin Grittner.  This error doesn't
explain his issue, but it does explain why "set enable_seqscan = off"
seemed to reproduce it for me.

15 years agoFix some SGML-compiler warnings on -wxml mode.
Alvaro Herrera [Wed, 4 Feb 2009 21:30:41 +0000 (21:30 +0000)]
Fix some SGML-compiler warnings on -wxml mode.

15 years agoUpdate read committed documentation to better explain undesirable
Bruce Momjian [Wed, 4 Feb 2009 16:05:50 +0000 (16:05 +0000)]
Update read committed documentation to better explain undesirable
behavior of concurrent commands in cases where rows are being added and
removed from matching query criteria.

Minor word-smithing.

15 years agoAdded result checks for calls to gmtime().
Michael Meskes [Wed, 4 Feb 2009 08:51:10 +0000 (08:51 +0000)]
Added result checks for calls to gmtime().

15 years agoArgh, wrong line copied again.
Michael Meskes [Tue, 3 Feb 2009 08:55:45 +0000 (08:55 +0000)]
Argh, wrong line copied again.

15 years agoFixed copy&paste mistake that made library use uninitialized variable.
Michael Meskes [Tue, 3 Feb 2009 08:48:29 +0000 (08:48 +0000)]
Fixed copy&paste mistake that made library use uninitialized variable.

15 years agoallow alternative names for tclsh used on Windows
Andrew Dunstan [Tue, 3 Feb 2009 01:24:57 +0000 (01:24 +0000)]
allow alternative names for tclsh used on Windows

15 years agoAdd a failure check for syslogger's use of _beginthreadex(), and remove
Tom Lane [Tue, 3 Feb 2009 00:59:26 +0000 (00:59 +0000)]
Add a failure check for syslogger's use of _beginthreadex(), and remove
unnecessary thread address output parameter, to make this code look more
like that in pg_restore.

15 years agoDocument the longstanding behavior of LIMIT NULL and OFFSET NULL,
Tom Lane [Mon, 2 Feb 2009 20:42:57 +0000 (20:42 +0000)]
Document the longstanding behavior of LIMIT NULL and OFFSET NULL,
per gripe from David Wheeler that this was mentioned nowhere.
In passing, editorialize a bit on the description of the SQL:2008
equivalent syntax.

15 years agoFix plpgsql to not treat INSERT INTO as an INTO-variables clause anywhere
Tom Lane [Mon, 2 Feb 2009 20:25:38 +0000 (20:25 +0000)]
Fix plpgsql to not treat INSERT INTO as an INTO-variables clause anywhere
in the string, not just at the start.  Per bug #4629 from Martin Blazek.

Back-patch to 8.2; prior versions don't have the problem, at least not in
the reported case, because they don't try to recognize INTO in non-SELECT
statements.  (IOW, this is really fallout from the RETURNING patch.)

15 years agoProvide for parallel restoration from a custom format archive. Each data and
Andrew Dunstan [Mon, 2 Feb 2009 20:07:37 +0000 (20:07 +0000)]
Provide for parallel restoration from a custom format archive. Each data and
post-data step is run in a separate worker child (a thread on Windows, a child
process elsewhere) up to the concurrent number specified by the new pg_restore
command-line --multi-thread | -m switch.

Andrew Dunstan, with some editing by Tom Lane.

15 years agoAllow reloption names to have qualifiers, initially supporting a TOAST
Alvaro Herrera [Mon, 2 Feb 2009 19:31:40 +0000 (19:31 +0000)]
Allow reloption names to have qualifiers, initially supporting a TOAST
qualifier, and add support for this in pg_dump.

This allows TOAST tables to have user-defined fillfactor, and will also
enable us to move the autovacuum parameters to reloptions without taking
away the possibility of setting values for TOAST tables.

15 years agoWhen changing a regression test file one should also change the expected output file.
Michael Meskes [Mon, 2 Feb 2009 16:54:28 +0000 (16:54 +0000)]
When changing a regression test file one should also change the expected output file.

15 years agoSet memory segment to '0', just to be sure.
Michael Meskes [Mon, 2 Feb 2009 16:49:50 +0000 (16:49 +0000)]
Set memory segment to '0', just to be sure.

15 years agoFixed auto allocation for binary data types.
Michael Meskes [Mon, 2 Feb 2009 16:14:06 +0000 (16:14 +0000)]
Fixed auto allocation for binary data types.

15 years agoFixed bug in %s handling.
Michael Meskes [Mon, 2 Feb 2009 15:35:28 +0000 (15:35 +0000)]
Fixed bug in %s handling.

15 years agoPut pg_user_mapping section into the right (alphabetical) order.
Peter Eisentraut [Mon, 2 Feb 2009 09:49:29 +0000 (09:49 +0000)]
Put pg_user_mapping section into the right (alphabetical) order.

15 years agoFix unnest() to handle a toasted input array safely. Per report from
Tom Lane [Fri, 30 Jan 2009 21:21:18 +0000 (21:21 +0000)]
Fix unnest() to handle a toasted input array safely.  Per report from
Alvaro.

15 years agoCheck that connection limit is within valid range. IOW, not < -1.
Heikki Linnakangas [Fri, 30 Jan 2009 17:24:47 +0000 (17:24 +0000)]
Check that connection limit is within valid range. IOW, not < -1.

It's missing in older versions too, but it doesn't seem worth
back-porting. All negative are just harmlessly treated as "no limit", and
tightening the check might even brake an application that relies on it.

15 years agoMake messages consistent with existing ones
Peter Eisentraut [Fri, 30 Jan 2009 12:53:43 +0000 (12:53 +0000)]
Make messages consistent with existing ones

15 years agoWhitespace fix in message
Peter Eisentraut [Fri, 30 Jan 2009 12:53:12 +0000 (12:53 +0000)]
Whitespace fix in message

15 years agoUpdate back-branch release notes.
Tom Lane [Fri, 30 Jan 2009 00:37:29 +0000 (00:37 +0000)]
Update back-branch release notes.

15 years agoUpdate time zone data files to tzdata release 2009a: introduces Asia/Kathmandu
Tom Lane [Thu, 29 Jan 2009 19:59:59 +0000 (19:59 +0000)]
Update time zone data files to tzdata release 2009a: introduces Asia/Kathmandu
as the preferred spelling of that zone name, corrects historical DST
information for Switzerland and Cuba.

15 years agoReplace argument-checking Asserts with regular test-and-elog checks in all
Tom Lane [Thu, 29 Jan 2009 19:23:42 +0000 (19:23 +0000)]
Replace argument-checking Asserts with regular test-and-elog checks in all
encoding conversion functions.  These are not can't-happen cases because
it's possible to create a conversion with the wrong conversion function
for the specified encoding pair.  That would lead to an Assert crash in
an Assert-enabled build, or incorrect conversion otherwise, neither of
which is desirable.  This would be a DOS issue if production databases
were customarily built with asserts enabled, but fortunately that's not so.
Per an observation by Heikki.

Back-patch to all supported branches.

15 years agoFix incorrect dereferencing of char* to array's index.
Teodor Sigaev [Thu, 29 Jan 2009 16:22:10 +0000 (16:22 +0000)]
Fix incorrect dereferencing of char* to array's index.
Per Tommy Gildseth <tommy.gildseth@usit.uio.no> report

15 years agoMessage fix
Peter Eisentraut [Thu, 29 Jan 2009 09:38:38 +0000 (09:38 +0000)]
Message fix

15 years agoFix bug with multiple evaluation of tsearch2 compatibility trigger, trigger
Teodor Sigaev [Wed, 28 Jan 2009 18:31:32 +0000 (18:31 +0000)]
Fix bug with multiple evaluation of tsearch2 compatibility trigger, trigger
data should be restored.
Backpatch only for 8.3 because previous versions haven't such layer.

15 years agoChange warning-silencing code not to cast the pointer type, instead
Magnus Hagander [Wed, 28 Jan 2009 15:32:21 +0000 (15:32 +0000)]
Change warning-silencing code not to cast the pointer type, instead
casting the value of the variable later.

Per comments from Tom.

15 years agoGo over all OpenSSL return values and make sure we compare them
Magnus Hagander [Wed, 28 Jan 2009 15:06:47 +0000 (15:06 +0000)]
Go over all OpenSSL return values and make sure we compare them
to the documented API value. The previous code got it right as
it's implemented, but accepted too much/too little compared to
the API documentation.

Per comment from Zdenek Kotala.

15 years agoSupport running as a service on Windows 7, by not specifying
Magnus Hagander [Wed, 28 Jan 2009 11:19:37 +0000 (11:19 +0000)]
Support running as a service on Windows 7, by not specifying
the JOB_OBJECT_UILIMIT_HANDLES flag.

Dave Page & Magnus Hagander

15 years agoSilence compiler warning on win32.
Magnus Hagander [Tue, 27 Jan 2009 12:46:16 +0000 (12:46 +0000)]
Silence compiler warning on win32.

ITAGAKI Takahiro

15 years agoSilence compiler warnings in new win32 locale code
Magnus Hagander [Tue, 27 Jan 2009 12:45:09 +0000 (12:45 +0000)]
Silence compiler warnings in new win32 locale code
when building on mingw.

ITAGAKI Takahiro

15 years agoRevert updatable views
Peter Eisentraut [Tue, 27 Jan 2009 12:40:15 +0000 (12:40 +0000)]
Revert updatable views

15 years agoAllow extracting and parsing of reloptions from a bare pg_class tuple, and
Alvaro Herrera [Mon, 26 Jan 2009 19:41:06 +0000 (19:41 +0000)]
Allow extracting and parsing of reloptions from a bare pg_class tuple, and
refactor the relcache code that used to do that.  This allows other callers
(particularly autovacuum) to do the same without necessarily having to open
and lock a table.

15 years agoMessage format tuning
Peter Eisentraut [Mon, 26 Jan 2009 10:19:44 +0000 (10:19 +0000)]
Message format tuning

15 years agoTweak the existing special case for AIX in pg_getaddrinfo_all() to handle
Tom Lane [Fri, 23 Jan 2009 19:58:06 +0000 (19:58 +0000)]
Tweak the existing special case for AIX in pg_getaddrinfo_all() to handle
yet another failure case in AIX's getaddrinfo().  Per report and patch
by Andrew Chernow.

15 years agoDocument that SELECT ... ORDER BY .. FOR UPDATE/SHARE might return
Bruce Momjian [Fri, 23 Jan 2009 14:05:28 +0000 (14:05 +0000)]
Document that SELECT ... ORDER BY .. FOR UPDATE/SHARE might return
results out of order because of locking, per bug report 4593

15 years agoMessage style review
Peter Eisentraut [Fri, 23 Jan 2009 12:43:32 +0000 (12:43 +0000)]
Message style review

15 years agoPut back fast-path for the case that there's no backup blocks in
Heikki Linnakangas [Fri, 23 Jan 2009 11:19:34 +0000 (11:19 +0000)]
Put back fast-path for the case that there's no backup blocks in
RestoreBkpBlocks. Went missing in my recent refactoring patch, as pointed
out by Simon's hot standby patch.

15 years agoRecreate ecpg_config.h with a stamp file created by config.status, same
Peter Eisentraut [Thu, 22 Jan 2009 22:27:13 +0000 (22:27 +0000)]
Recreate ecpg_config.h with a stamp file created by config.status, same
way pg_config.h is handled.  This avoids reruns of config.status on every
build, if configure has been rerun.

15 years agoSupport column-level privileges, as required by SQL standard.
Tom Lane [Thu, 22 Jan 2009 20:16:10 +0000 (20:16 +0000)]
Support column-level privileges, as required by SQL standard.

Stephen Frost, with help from KaiGai Kohei and others

15 years agoOnly skip pages marked as clean in the visibility map, if the last 32
Heikki Linnakangas [Thu, 22 Jan 2009 19:25:00 +0000 (19:25 +0000)]
Only skip pages marked as clean in the visibility map, if the last 32
pages were marked as clean as well. The idea is to avoid defeating OS
readahead by skipping a page here and there, and also makes it less likely
that we miss an opportunity to advance relfrozenxid, for the sake of only
a few skipped pages.

15 years agoUpdate comments to reflect that tgenabled is not a boolean anymore.
Heikki Linnakangas [Thu, 22 Jan 2009 19:16:31 +0000 (19:16 +0000)]
Update comments to reflect that tgenabled is not a boolean anymore.

Jonah Harris, with minor tinkering by me.

15 years agoAutomatic view update rules
Peter Eisentraut [Thu, 22 Jan 2009 17:27:55 +0000 (17:27 +0000)]
Automatic view update rules

Bernd Helmle

15 years agoExplicitly bind gettext to the correct encoding on Windows.
Magnus Hagander [Thu, 22 Jan 2009 10:09:48 +0000 (10:09 +0000)]
Explicitly bind gettext to the correct encoding on Windows.

Original patch from Hiroshi Inoue.

15 years agoRemove stray ' character at end of line.
Magnus Hagander [Wed, 21 Jan 2009 12:45:06 +0000 (12:45 +0000)]
Remove stray ' character at end of line.

For some reason it broke OpenBSD compile even when it's inside a
#ifdef WIN32 block.....

15 years agoForgot to handle the new SPI_OK_REWRITTEN result code in a couple places.
Heikki Linnakangas [Wed, 21 Jan 2009 11:13:14 +0000 (11:13 +0000)]
Forgot to handle the new SPI_OK_REWRITTEN result code in a couple places.

15 years agoAdd new SPI_OK_REWRITTEN return code to SPI_execute and friends, for the
Heikki Linnakangas [Wed, 21 Jan 2009 11:02:40 +0000 (11:02 +0000)]
Add new SPI_OK_REWRITTEN return code to SPI_execute and friends, for the
case that the command is rewritten into another type of command. The old
behavior to return the command tag of the last executed command was
pretty surprising. In PL/pgSQL, for example, it meant that if a command
was rewritten to a utility statement, FOUND wasn't set at all.

15 years agoMake win32 builds always do SetEnvironmentVariable() when doing putenv().
Magnus Hagander [Wed, 21 Jan 2009 10:30:02 +0000 (10:30 +0000)]
Make win32 builds always do SetEnvironmentVariable() when doing putenv().
Also, if linked against other versions than the default MSVCRT library
(for example the MSVC build which links against MSVCRT80), also update
the cache in the default MSVCRT at the same time.

This should fix the issues with setting LC_MESSAGES on the MSVC build.

Original patch from Hiroshi Inoue and Hiroshi Saito, much rewritten
by me.

15 years agoMake some strings translatable again that were accidentally removed in
Magnus Hagander [Wed, 21 Jan 2009 09:28:26 +0000 (09:28 +0000)]
Make some strings translatable again that were accidentally removed in
earlier patch to fix "printf-arguments".

15 years agoInstall .mo files for NLS as <program>-<version>.mo when building with MSVC
Magnus Hagander [Wed, 21 Jan 2009 09:25:11 +0000 (09:25 +0000)]
Install .mo files for NLS as <program>-<version>.mo when building with MSVC
as well. Same change as made earlier for autoconf builds.

Per Hiroshi Inoue.

15 years agoAdd a new option to RestoreBkpBlocks() to indicate if a cleanup lock should
Heikki Linnakangas [Tue, 20 Jan 2009 18:59:37 +0000 (18:59 +0000)]
Add a new option to RestoreBkpBlocks() to indicate if a cleanup lock should
be used instead of the normal exclusive lock, and make WAL redo functions
responsible for calling RestoreBkpBlocks(). They know better what kind of a
lock they need.

At the moment, this just moves things around with no functional change, but
makes the hot standby patch that's under review cleaner.

15 years agoDo not msgmerge against /dev/null; merge against the pot file itself
Peter Eisentraut [Tue, 20 Jan 2009 09:58:50 +0000 (09:58 +0000)]
Do not msgmerge against /dev/null; merge against the pot file itself
instead.

15 years agoRevise the permission checking on user mapping DDL commands.
Peter Eisentraut [Tue, 20 Jan 2009 09:10:20 +0000 (09:10 +0000)]
Revise the permission checking on user mapping DDL commands.
CREATE/ALTER/DROP USER MAPPING are now allowed either by the server owner or
by a user with USAGE privileges for his own user name.  This is more or less
what the SQL standard wants anyway (plus "implementation-defined")

Hide information_schema.user_mapping_options.option_value, unless the current
user is the one associated with the user mapping, or is the server owner and
the mapping is for PUBLIC, or is a superuser.  This is to protect passwords.

Also, fix a bug in information_schema._pg_foreign_servers, which hid servers
using wrappers where the current user did not have privileges on the wrapper.
The correct behavior is to hide servers where the current user has no
privileges on the server.

15 years agoUpdate \d*S documentation to be more accurate; system objects are added
Bruce Momjian [Tue, 20 Jan 2009 02:38:37 +0000 (02:38 +0000)]
Update \d*S documentation to be more accurate;  system objects are added
to the display, not restricted in the display; new text:

        The letter <literal>S</literal> adds the listing of system
        objects; without <literal>S</literal>, only non-system
        objects are shown.

15 years agoMake psql \d and \dt consistent for system tables, i.e prevent \d from
Bruce Momjian [Tue, 20 Jan 2009 02:13:42 +0000 (02:13 +0000)]
Make psql \d and \dt consistent for system tables, i.e prevent \d from
showing system tables, make \dS pattern show system table details, and
have \dtS show system and _user_ tables, to be consistent with other \d*
commands.

15 years agoDocument RELKIND_SPECIAL reference in psql, from <= 8.1.X.
Bruce Momjian [Mon, 19 Jan 2009 18:44:32 +0000 (18:44 +0000)]
Document RELKIND_SPECIAL reference in psql, from <= 8.1.X.

15 years agoFix accidental (I suppose) introduction of non-ASCII quote marks.
Tom Lane [Mon, 19 Jan 2009 17:17:50 +0000 (17:17 +0000)]
Fix accidental (I suppose) introduction of non-ASCII quote marks.

15 years agoUse the new text domain names ("postgres-8.4" instead of "postgres")
Magnus Hagander [Mon, 19 Jan 2009 15:34:23 +0000 (15:34 +0000)]
Use the new text domain names ("postgres-8.4" instead of "postgres")

Hiroshi Inoue

15 years agoAvoid regression test cases that fail in locales that sort "v" and "w"
Peter Eisentraut [Mon, 19 Jan 2009 14:24:13 +0000 (14:24 +0000)]
Avoid regression test cases that fail in locales that sort "v" and "w"
equally (in glibc: et_EE, sv_SE, tk_TM).  It turns out that this was
already taken care of previously by select_1.out, which I had forgotten to
update for an unrelated change.  But might as well avoid the issue
altogether.