Stamp 9.3.0.
commit : da645b3a73580ac30cf02e932b42d06157b98229
author : Tom Lane <[email protected]>
date : Mon, 2 Sep 2013 16:53:17 -0400
committer: Tom Lane <[email protected]>
date : Mon, 2 Sep 2013 16:53:17 -0400
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
Update time zone data files to tzdata release 2013d.
commit : e3d02a10ec1831216f6d63a48e390a53a01b0927
author : Tom Lane <[email protected]>
date : Mon, 2 Sep 2013 15:06:21 -0400
committer: Tom Lane <[email protected]>
date : Mon, 2 Sep 2013 15:06:21 -0400
DST law changes in Israel, Morocco, Palestine, Paraguay.
Historical corrections for Macquarie Island.
M src/timezone/data/africa
M src/timezone/data/antarctica
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/europe
M src/timezone/data/iso3166.tab
M src/timezone/data/southamerica
M src/timezone/data/zone.tab
Fix relfrozenxid query in docs to include TOAST tables.
commit : 4e1e5d3bad9d51e5695c8a42612343662e886a64
author : Andrew Dunstan <[email protected]>
date : Mon, 2 Sep 2013 14:37:53 -0400
committer: Andrew Dunstan <[email protected]>
date : Mon, 2 Sep 2013 14:37:53 -0400
The original query ignored TOAST tables which could result in tables
needing a vacuum not being reported.
Backpatch to all live branches.
M doc/src/sgml/maintenance.sgml
Translation updates
commit : c7ef895f697627f60c51f44d8a9d64431840b4da
author : Peter Eisentraut <[email protected]>
date : Mon, 2 Sep 2013 02:28:21 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 2 Sep 2013 02:28:21 -0400
M src/backend/nls.mk
M src/backend/po/de.po
M src/backend/po/es.po
M src/backend/po/fr.po
M src/backend/po/pl.po
M src/backend/po/ru.po
D src/backend/po/tr.po
M src/bin/initdb/nls.mk
M src/bin/initdb/po/es.po
D src/bin/initdb/po/ko.po
M src/bin/initdb/po/pl.po
D src/bin/initdb/po/ro.po
D src/bin/initdb/po/sv.po
D src/bin/initdb/po/ta.po
D src/bin/initdb/po/tr.po
D src/bin/initdb/po/zh_TW.po
M src/bin/pg_basebackup/nls.mk
M src/bin/pg_basebackup/po/es.po
M src/bin/pg_basebackup/po/pl.po
D src/bin/pg_basebackup/po/zh_CN.po
M src/bin/pg_config/po/es.po
M src/bin/pg_config/po/sv.po
M src/bin/pg_controldata/nls.mk
M src/bin/pg_controldata/po/es.po
D src/bin/pg_controldata/po/ko.po
M src/bin/pg_controldata/po/pl.po
D src/bin/pg_controldata/po/ro.po
D src/bin/pg_controldata/po/sv.po
D src/bin/pg_controldata/po/ta.po
D src/bin/pg_controldata/po/tr.po
D src/bin/pg_controldata/po/zh_TW.po
M src/bin/pg_ctl/nls.mk
M src/bin/pg_ctl/po/es.po
D src/bin/pg_ctl/po/ko.po
M src/bin/pg_ctl/po/pl.po
M src/bin/pg_ctl/po/sv.po
D src/bin/pg_ctl/po/ta.po
D src/bin/pg_ctl/po/tr.po
M src/bin/pg_dump/nls.mk
M src/bin/pg_dump/po/es.po
D src/bin/pg_dump/po/ko.po
M src/bin/pg_dump/po/pl.po
D src/bin/pg_dump/po/sv.po
D src/bin/pg_dump/po/tr.po
D src/bin/pg_dump/po/zh_TW.po
M src/bin/pg_resetxlog/nls.mk
M src/bin/pg_resetxlog/po/es.po
D src/bin/pg_resetxlog/po/ko.po
M src/bin/pg_resetxlog/po/pl.po
D src/bin/pg_resetxlog/po/ro.po
D src/bin/pg_resetxlog/po/sv.po
D src/bin/pg_resetxlog/po/ta.po
D src/bin/pg_resetxlog/po/tr.po
D src/bin/pg_resetxlog/po/zh_TW.po
M src/bin/psql/nls.mk
M src/bin/psql/po/es.po
M src/bin/psql/po/pl.po
D src/bin/psql/po/sv.po
D src/bin/psql/po/tr.po
M src/bin/scripts/nls.mk
M src/bin/scripts/po/es.po
D src/bin/scripts/po/ko.po
M src/bin/scripts/po/pl.po
D src/bin/scripts/po/ro.po
D src/bin/scripts/po/sv.po
D src/bin/scripts/po/ta.po
D src/bin/scripts/po/tr.po
D src/bin/scripts/po/zh_TW.po
M src/interfaces/ecpg/ecpglib/po/es.po
M src/interfaces/ecpg/preproc/po/es.po
M src/interfaces/libpq/nls.mk
M src/interfaces/libpq/po/es.po
D src/interfaces/libpq/po/ko.po
M src/interfaces/libpq/po/pl.po
M src/interfaces/libpq/po/ru.po
D src/interfaces/libpq/po/sv.po
D src/interfaces/libpq/po/ta.po
M src/pl/plperl/po/es.po
M src/pl/plpgsql/src/nls.mk
M src/pl/plpgsql/src/po/es.po
D src/pl/plpgsql/src/po/ko.po
M src/pl/plpython/nls.mk
M src/pl/plpython/po/es.po
D src/pl/plpython/po/tr.po
D src/pl/plpython/po/zh_TW.po
M src/pl/tcl/po/es.po
Update "Using EXPLAIN" documentation examples using current code.
commit : b9a06c9329822259bab45f34ecc6a5839f0ffc53
author : Tom Lane <[email protected]>
date : Sun, 1 Sep 2013 19:43:02 -0400
committer: Tom Lane <[email protected]>
date : Sun, 1 Sep 2013 19:43:02 -0400
It seems like a good idea to update these examples since some fairly
basic planner behaviors have changed in 9.3; notably that the startup cost
for an indexscan plan node is no longer invariably estimated at 0.00.
M doc/src/sgml/perform.sgml
Update 9.3 release notes.
commit : 3234a64f454cf9f2f6b8df24a551bec0ecfdd74b
author : Tom Lane <[email protected]>
date : Sat, 31 Aug 2013 23:53:33 -0400
committer: Tom Lane <[email protected]>
date : Sat, 31 Aug 2013 23:53:33 -0400
Some corrections, a lot of copy-editing.
Set projected release date as 2013-09-09.
M doc/src/sgml/release-9.3.sgml
Improve regression test for #8410.
commit : 3c2a425da71d56edade2d7e2734305e8af778c9a
author : Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 21:40:21 -0400
committer: Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 21:40:21 -0400
The previous version of the query disregarded the result of the MergeAppend
instead of checking its results.
Andres Freund
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql
Add test case for bug #8410.
commit : ce58aad2ba13885e2c5fa50e31ee5945e883096b
author : Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 19:27:40 -0400
committer: Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 19:27:40 -0400
Per Andres Freund.
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql
Reset the binary heap in MergeAppend rescans.
commit : 16e8e36cebba8909ec01ca259f32e8dd40090657
author : Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 19:15:21 -0400
committer: Tom Lane <[email protected]>
date : Fri, 30 Aug 2013 19:15:21 -0400
Failing to do so can cause queries to return wrong data, error out or crash.
This requires adding a new binaryheap_reset() method to binaryheap.c,
but that probably should have been there anyway.
Per bug #8410 from Terje Elde. Diagnosis and patch by Andres Freund.
M src/backend/executor/nodeMergeAppend.c
M src/backend/lib/binaryheap.c
M src/include/lib/binaryheap.h
Make error wording more consistent
commit : dfed97b744a4706d7c7b410667c0c5bc92d0eb8d
author : Alvaro Herrera <[email protected]>
date : Thu, 29 Aug 2013 12:33:50 -0400
committer: Alvaro Herrera <[email protected]>
date : Thu, 29 Aug 2013 12:33:50 -0400
M src/backend/postmaster/postmaster.c
Unconditionally use the WSA equivalents of Socket error constants.
commit : e536d47ab7eb447ef0be849a8b2e06ae9080017c
author : Andrew Dunstan <[email protected]>
date : Mon, 26 Aug 2013 14:58:14 -0400
committer: Andrew Dunstan <[email protected]>
date : Mon, 26 Aug 2013 14:58:14 -0400
This change will only apply to mingw compilers, and has been found
necessary by late versions of the mingw-w64 compiler. It's the same as
what is done elsewhere for the Microsoft compilers.
Backpatch of commit 73838b5251e.
Problem reported by Michael Cronenworth, although not his patch.
M src/include/port/win32.h
Account better for planning cost when choosing whether to use custom plans.
commit : a5f11e24a4d1afb213c780812a3df14c04d7f845
author : Tom Lane <[email protected]>
date : Sat, 24 Aug 2013 15:14:21 -0400
committer: Tom Lane <[email protected]>
date : Sat, 24 Aug 2013 15:14:21 -0400
The previous coding in plancache.c essentially used 10% of the estimated
runtime as its cost estimate for planning. This can be pretty bogus,
especially when the estimated runtime is very small, such as in a simple
expression plan created by plpgsql, or a simple INSERT ... VALUES.
While we don't have a really good handle on how planning time compares
to runtime, it seems reasonable to use an estimate based on the number of
relations referenced in the query, with a rather large multiplier. This
patch uses 1000 * cpu_operator_cost * (nrelations + 1), so that even a
trivial query will be charged 1000 * cpu_operator_cost for planning.
This should address the problem reported by Marc Cousin and others that
9.2 and up prefer custom plans in cases where the planning time greatly
exceeds what can be saved.
M src/backend/utils/cache/plancache.c
Don't crash when pg_xlog is empty and pg_basebackup -x is used
commit : 3cf89057b5bced4478a285e0b49e321996b40044
author : Magnus Hagander <[email protected]>
date : Sat, 24 Aug 2013 17:11:31 +0200
committer: Magnus Hagander <[email protected]>
date : Sat, 24 Aug 2013 17:11:31 +0200
The backup will not work (without a logarchive, and that's the whole
point of -x) in this case, this patch just changes it to throw an
error instead of crashing when this happens.
Noticed and diagnosed by TAKATSUKA Haruka
M src/backend/replication/basebackup.c
In locate_grouping_columns(), don't expect an exact match of Var typmods.
commit : c19617d5355e41074623bbb7c3efda532c20f637
author : Tom Lane <[email protected]>
date : Fri, 23 Aug 2013 17:30:56 -0400
committer: Tom Lane <[email protected]>
date : Fri, 23 Aug 2013 17:30:56 -0400
It's possible that inlining of SQL functions (or perhaps other changes?)
has exposed typmod information not known at parse time. In such cases,
Vars generated by query_planner might have valid typmod values while the
original grouping columns only have typmod -1. This isn't a semantic
problem since the behavior of grouping only depends on type not typmod,
but it breaks locate_grouping_columns' use of tlist_member to locate the
matching entry in query_planner's result tlist.
We can fix this without an excessive amount of new code or complexity by
relying on the fact that locate_grouping_columns only gets called when
make_subplanTargetList has set need_tlist_eval == false, and that can only
happen if all the grouping columns are simple Vars. Therefore we only need
to search the sub_tlist for a matching Var, and we can reasonably define a
"match" as being a match of the Var identity fields
varno/varattno/varlevelsup. The code still Asserts that vartype matches,
but ignores vartypmod.
Per bug #8393 from Evan Martin. The added regression test case is
basically the same as his example. This has been broken for a very long
time, so back-patch to all supported branches.
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/util/tlist.c
M src/include/optimizer/tlist.h
M src/test/regress/expected/rangefuncs.out
M src/test/regress/sql/rangefuncs.sql
Fix hash table size estimation error in choose_hashed_distinct().
commit : e6d3f5b35edad5452936bf4842167fa00c8b64b8
author : Tom Lane <[email protected]>
date : Wed, 21 Aug 2013 13:38:20 -0400
committer: Tom Lane <[email protected]>
date : Wed, 21 Aug 2013 13:38:20 -0400
We should account for the per-group hashtable entry overhead when
considering whether to use a hash aggregate to implement DISTINCT. The
comparable logic in choose_hashed_grouping() gets this right, but I think
I omitted it here in the mistaken belief that there would be no overhead
if there were no aggregate functions to be evaluated. This can result in
more than 2X underestimate of the hash table size, if the tuples being
aggregated aren't very wide. Per report from Tomas Vondra.
This bug is of long standing, but per discussion we'll only back-patch into
9.3. Changing the estimation behavior in stable branches seems to carry too
much risk of destabilizing plan choices for already-tuned applications.
M src/backend/optimizer/plan/planner.c
release notes: update link to 9.3 PL/pgSQL constraint error info
commit : c9d7c192c06d0dd998067494c3be291ea6a52745
author : Bruce Momjian <[email protected]>
date : Tue, 20 Aug 2013 09:39:00 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 20 Aug 2013 09:39:00 -0400
Backpatch to 9.3.
Pavel Stehule
M doc/src/sgml/release-9.3.sgml
Stamp 9.3rc1.
commit : ce52c6fe243665e0f4d84414f9341b9719415551
author : Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 19:45:10 -0400
committer: Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 19:45:10 -0400
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
Be more wary of unwanted whitespace in pgstat_reset_remove_files().
commit : 59bc4a43ec588d25fe976774bd1194f1b90251fa
author : Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 19:36:06 -0400
committer: Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 19:36:06 -0400
sscanf isn't the easiest thing to use for exact pattern checks ...
also, don't use strncmp where strcmp will do.
M src/backend/postmaster/pgstat.c
Fix removal of files in pgstats directories
commit : db5b49cdd4f481828b227f03b373fbc9bde4301a
author : Alvaro Herrera <[email protected]>
date : Mon, 19 Aug 2013 17:48:17 -0400
committer: Alvaro Herrera <[email protected]>
date : Mon, 19 Aug 2013 17:48:17 -0400
Instead of deleting all files in stats_temp_directory and the permanent
directory on a crash, only remove those files that match the pattern of
files we actually write in them, to avoid possibly clobbering existing
unrelated contents of the temporary directory. Per complaint from Jeff
Janes, and subsequent discussion, starting at message
CAMkU[email protected]
Also, fix a bug in the same routine to avoid removing files from the
permanent directory twice (instead of once from that directory and then
from the temporary directory), also per report from Jeff Janes, in
message
CAMk[email protected]
M src/backend/postmaster/pgstat.c
Rename the "fast_promote" file to just "promote".
commit : 38c69237c21186038f6902373a0f06af1c2f7cfb
author : Heikki Linnakangas <[email protected]>
date : Mon, 19 Aug 2013 20:57:53 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 19 Aug 2013 20:57:53 +0300
This keeps the usual trigger file name unchanged from 9.2, avoiding nasty
issues if you use a pre-9.3 pg_ctl binary with a 9.3 server or vice versa.
The fallback behavior of creating a full checkpoint before starting up is now
triggered by a file called "fallback_promote". That can be useful for
debugging purposes, but we don't expect any users to have to resort to that
and we might want to remove that in the future, which is why the fallback
mechanism is undocumented.
M src/backend/access/transam/xlog.c
M src/bin/pg_ctl/pg_ctl.c
Fix qual-clause-misplacement issues with pulled-up LATERAL subqueries.
commit : b19e5a696ab28be5d55949048194922152091aa1
author : Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 13:19:28 -0400
committer: Tom Lane <[email protected]>
date : Mon, 19 Aug 2013 13:19:28 -0400
In an example such as
SELECT * FROM
i LEFT JOIN LATERAL (SELECT * FROM j WHERE i.n = j.n) j ON true;
it is safe to pull up the LATERAL subquery into its parent, but we must
then treat the "i.n = j.n" clause as a qual clause of the LEFT JOIN. The
previous coding in deconstruct_recurse mistakenly labeled the clause as
"is_pushed_down", resulting in wrong semantics if the clause were applied
at the join node, as per an example submitted awhile ago by Jeremy Evans.
To fix, postpone processing of such clauses until we return back up to
the appropriate recursion depth in deconstruct_recurse.
In addition, tighten the is-safe-to-pull-up checks in is_simple_subquery;
we previously missed the possibility that the LATERAL subquery might itself
contain an outer join that makes lateral references in lower quals unsafe.
A regression test case equivalent to Jeremy's example was already in my
commit of yesterday, but was giving the wrong results because of this
bug. This patch fixes the expected output for that, and also adds a
test case for the second problem.
M src/backend/optimizer/README
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/prep/prepjointree.c
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql
Fix pg_upgrade failure from servers older than 9.3
commit : b3c55ae0daf230555cb1932ac2c903c3fe7643db
author : Alvaro Herrera <[email protected]>
date : Mon, 19 Aug 2013 12:33:07 -0400
committer: Alvaro Herrera <[email protected]>
date : Mon, 19 Aug 2013 12:33:07 -0400
When upgrading from servers of versions 9.2 and older, and MultiXactIds
have been used in the old server beyond the first page (that is, 2048
multis or more in the default 8kB-page build), pg_upgrade would set the
next multixact offset to use beyond what has been allocated in the new
cluster. This would cause a failure the first time the new cluster
needs to use this value, because the pg_multixact/offsets/ file wouldn't
exist or wouldn't be large enough. To fix, ensure that the transient
server instances launched by pg_upgrade extend the file as necessary.
Per report from Jesse Denardo in
CANi[email protected]
M src/backend/access/transam/multixact.c
M src/backend/access/transam/slru.c
M src/include/access/slru.h
release notes: remove username from 9.3 major item
commit : 064eb5098be5ee74a9dfb6bf090fea699a1be45f
author : Bruce Momjian <[email protected]>
date : Mon, 19 Aug 2013 12:26:22 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 19 Aug 2013 12:26:22 -0400
Etsuro Fujita
M doc/src/sgml/release-9.3.sgml
Translation updates
commit : 3e5dd599666f00b45311e42433ba68d0b9b89aed
author : Peter Eisentraut <[email protected]>
date : Sun, 18 Aug 2013 23:36:20 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 18 Aug 2013 23:36:20 -0400
M src/backend/po/de.po
M src/backend/po/fr.po
M src/backend/po/it.po
M src/backend/po/ja.po
M src/backend/po/pt_BR.po
M src/backend/po/ru.po
M src/bin/initdb/po/fr.po
M src/bin/initdb/po/ja.po
M src/bin/initdb/po/pt_BR.po
M src/bin/pg_basebackup/po/de.po
M src/bin/pg_basebackup/po/fr.po
M src/bin/pg_basebackup/po/ja.po
M src/bin/pg_basebackup/po/pt_BR.po
M src/bin/pg_config/po/fr.po
M src/bin/pg_config/po/ja.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_controldata/po/ja.po
M src/bin/pg_controldata/po/pt_BR.po
M src/bin/pg_ctl/po/fr.po
M src/bin/pg_ctl/po/ja.po
M src/bin/pg_ctl/po/pt_BR.po
M src/bin/pg_dump/po/de.po
M src/bin/pg_dump/po/fr.po
M src/bin/pg_dump/po/it.po
M src/bin/pg_dump/po/ja.po
M src/bin/pg_dump/po/pt_BR.po
M src/bin/pg_dump/po/ru.po
M src/bin/pg_resetxlog/po/de.po
M src/bin/pg_resetxlog/po/fr.po
M src/bin/pg_resetxlog/po/it.po
M src/bin/pg_resetxlog/po/ja.po
M src/bin/pg_resetxlog/po/pt_BR.po
M src/bin/pg_resetxlog/po/ru.po
M src/bin/psql/po/fr.po
M src/bin/psql/po/ja.po
M src/bin/psql/po/pt_BR.po
M src/bin/scripts/po/de.po
M src/bin/scripts/po/fr.po
M src/bin/scripts/po/it.po
M src/bin/scripts/po/ja.po
M src/bin/scripts/po/pt_BR.po
M src/bin/scripts/po/ru.po
M src/interfaces/ecpg/preproc/po/ja.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/it.po
M src/interfaces/libpq/po/ja.po
M src/interfaces/libpq/po/pt_BR.po
M src/interfaces/libpq/po/ru.po
M src/pl/plpgsql/src/po/fr.po
M src/pl/plpgsql/src/po/ja.po
Remove relcache entry invalidation in REFRESH MATERIALIZED VIEW.
commit : 5a91ea7a000295a7898f96cad6f0c3c288d41039
author : Kevin Grittner <[email protected]>
date : Sun, 18 Aug 2013 16:24:59 -0500
committer: Kevin Grittner <[email protected]>
date : Sun, 18 Aug 2013 16:24:59 -0500
This was added as part of the attempt to support unlogged matviews
along with a populated status. It got missed when unlogged
support was removed pre-commit.
Noticed by Noah Misch. Back-patched to 9.3 branch.
M src/backend/commands/matview.c
libpq: Report strerror on pthread_mutex_lock() failure
commit : 7c8de5d3e587a31279771f32291a5d4b94bd2514
author : Peter Eisentraut <[email protected]>
date : Sat, 17 Aug 2013 21:46:32 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 17 Aug 2013 21:46:32 -0400
M src/interfaces/libpq/fe-secure.c
Fix thinko in comment.
commit : 8820b502367de2669a8d3ed02a1cc485dd84fc4b
author : Tom Lane <[email protected]>
date : Sat, 17 Aug 2013 20:36:29 -0400
committer: Tom Lane <[email protected]>
date : Sat, 17 Aug 2013 20:36:29 -0400
M src/backend/optimizer/util/restrictinfo.c
Fix planner problems with LATERAL references in PlaceHolderVars.
commit : 517db4945560358a82b9152d01cfad3bbd2af17e
author : Tom Lane <[email protected]>
date : Sat, 17 Aug 2013 20:22:41 -0400
committer: Tom Lane <[email protected]>
date : Sat, 17 Aug 2013 20:22:41 -0400
The planner largely failed to consider the possibility that a
PlaceHolderVar's expression might contain a lateral reference to a Var
coming from somewhere outside the PHV's syntactic scope. We had a previous
report of a problem in this area, which I tried to fix in a quick-hack way
in commit 4da6439bd8553059766011e2a42c6e39df08717f, but Antonin Houska
pointed out that there were still some problems, and investigation turned
up other issues. This patch largely reverts that commit in favor of a more
thoroughly thought-through solution. The new theory is that a PHV's
ph_eval_at level cannot be higher than its original syntactic level. If it
contains lateral references, those don't change the ph_eval_at level, but
rather they create a lateral-reference requirement for the ph_eval_at join
relation. The code in joinpath.c needs to handle that.
Another issue is that createplan.c wasn't handling nested PlaceHolderVars
properly.
In passing, push knowledge of lateral-reference checks for join clauses
into join_clause_is_movable_to. This is mainly so that FDWs don't need
to deal with it.
This patch doesn't fix the original join-qual-placement problem reported by
Jeremy Evans (and indeed, one of the new regression test cases shows the
wrong answer because of that). But the PlaceHolderVar problems need to be
fixed before that issue can be addressed, so committing this separately
seems reasonable.
M contrib/postgres_fdw/postgres_fdw.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/optimizer/README
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/path/joinrels.c
M src/backend/optimizer/path/orindxpath.c
M src/backend/optimizer/path/tidpath.c
M src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/util/placeholder.c
M src/backend/optimizer/util/relnode.c
M src/backend/optimizer/util/restrictinfo.c
M src/backend/optimizer/util/var.c
M src/include/nodes/relation.h
M src/include/optimizer/restrictinfo.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql
release notes: update 9.3 major feature list
commit : 2505aaed7be290018f999f6e9250c24b26db97d0
author : Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 18:01:04 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 18:01:04 -0400
Backpatch to 9.3.
M doc/src/sgml/release-9.3.sgml
release notes: Update to 9.3 git current
commit : c359ff298a537f9f481ca7928c655b84c17e5456
author : Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 16:54:18 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 16:54:18 -0400
Backpatch to 9.3, of course.
M doc/src/sgml/release-9.3.sgml
Rename some bgworker functions as we've done in master.
commit : 8e2eca46dbd3bb8efa56ef0aebd60eadcbcc5dd4
author : Robert Haas <[email protected]>
date : Fri, 16 Aug 2013 15:28:03 -0400
committer: Robert Haas <[email protected]>
date : Fri, 16 Aug 2013 15:28:03 -0400
Commit 2dee7998f93062e2ae7fcc9048ff170e528d1724 renames these
functions in master, for consistency; per discussion, backport
just the renaming portion of that commit to 9.3 to keep the
branches in sync.
Michael Paquier
M src/backend/postmaster/postmaster.c
pg_upgrade: shut down server after auth failure
commit : ae3c8c57cbaa8d88be61dc26f7b5c138c3c98dd7
author : Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 11:09:09 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 16 Aug 2013 11:09:09 -0400
Register atexit() server shutdown if pg_ctl successfully started the
server, but we can't connect to it.
Backpatch to 9.3.
Pavel Raiskup
M contrib/pg_upgrade/server.c
Don't allow ALTER MATERIALIZED VIEW ADD UNIQUE.
commit : cdcddc4a5a06952eafc65907c25c21510c7d54c0
author : Kevin Grittner <[email protected]>
date : Thu, 15 Aug 2013 13:16:45 -0500
committer: Kevin Grittner <[email protected]>
date : Thu, 15 Aug 2013 13:16:45 -0500
Was accidentally allowed, but not documented and lacked support
for rename or drop once created.
Per report from Noah Misch.
M src/backend/commands/tablecmds.c
Add tab completion for \dx in psql
commit : d2fa20acdd67db00b48fcc4b9a13b998c1c8bb54
author : Magnus Hagander <[email protected]>
date : Thu, 15 Aug 2013 18:24:25 +0200
committer: Magnus Hagander <[email protected]>
date : Thu, 15 Aug 2013 18:24:25 +0200
M src/bin/psql/tab-complete.c
Treat timeline IDs as unsigned in replication parser
commit : 3ed990b6ffe18e794b5020a5e5e841aacd72524e
author : Peter Eisentraut <[email protected]>
date : Wed, 14 Aug 2013 23:18:49 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 14 Aug 2013 23:18:49 -0400
Timeline IDs are unsigned ints everywhere, except the replication parser
treated them as signed ints.
M src/backend/replication/repl_gram.y
M src/backend/replication/repl_scanner.l
Improve error message when view is not updatable
commit : 9e3f42ff3f6af6b4474340175572c76fe35d9e3b
author : Peter Eisentraut <[email protected]>
date : Wed, 14 Aug 2013 23:00:34 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 14 Aug 2013 23:00:34 -0400
Avoid using the term "updatable" in confusing ways. Suggest a trigger
first, before a rule.
M src/backend/executor/execMain.c
M src/backend/rewrite/rewriteHandler.c
M src/test/regress/expected/updatable_views.out
Remove ph_may_need from PlaceHolderInfo, with attendant simplifications.
commit : 6c5f68ea1a836f8c5cf9711f24d285067e67f23f
author : Tom Lane <[email protected]>
date : Wed, 14 Aug 2013 18:38:36 -0400
committer: Tom Lane <[email protected]>
date : Wed, 14 Aug 2013 18:38:36 -0400
The planner logic that attempted to make a preliminary estimate of the
ph_needed levels for PlaceHolderVars seems to be completely broken by
lateral references. Fortunately, the potential join order optimization
that this code supported seems to be of relatively little value in
practice; so let's just get rid of it rather than trying to fix it.
Getting rid of this allows fairly substantial simplifications in
placeholder.c, too, so planning in such cases should be a bit faster.
Issue noted while pursuing bugs reported by Jeremy Evans and Antonin
Houska, though this doesn't in itself fix either of their reported cases.
What this does do is prevent an Assert crash in the kind of query
illustrated by the added regression test. (I'm not sure that the plan for
that query is stable enough across platforms to be usable as a regression
test output ... but we'll soon find out from the buildfarm.)
Back-patch to 9.3. The problem case can't arise without LATERAL, so
no need to touch older branches.
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/util/placeholder.c
M src/include/nodes/relation.h
M src/include/optimizer/placeholder.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql
Remove Assert that matview is not in system schema from REFRESH.
commit : 85052376a8cc4bbbfc08a50ca3bd137c1e3cda9a
author : Kevin Grittner <[email protected]>
date : Wed, 14 Aug 2013 12:43:01 -0500
committer: Kevin Grittner <[email protected]>
date : Wed, 14 Aug 2013 12:43:01 -0500
We don't want to prevent an extension which creates a matview from
being installed in pg_catalog.
Issue was raised by Hitoshi Harada.
Backpatched to 9.3.
M src/backend/commands/matview.c
Emit a log message if output is about to be redirected away from stderr.
commit : 6d8186ff779fd46f0251eb252e7489fd38ab793b
author : Tom Lane <[email protected]>
date : Tue, 13 Aug 2013 15:24:56 -0400
committer: Tom Lane <[email protected]>
date : Tue, 13 Aug 2013 15:24:56 -0400
We've seen multiple cases of people looking at the postmaster's original
stderr output to try to diagnose problems, not realizing/remembering that
their logging configuration is set up to send log messages somewhere else.
This seems particularly likely to happen in prepackaged distributions,
since many packagers patch the code to change the factory-standard logging
configuration to something more in line with their platform conventions.
In hopes of reducing confusion, emit a LOG message about this at the point
in startup where we are about to switch log output away from the original
stderr, providing a pointer to where to look instead. This message will
appear as the last thing in the original stderr output. (We might later
also try to emit such link messages when logging parameters are changed
on-the-fly; but that case seems to be both noticeably harder to do nicely,
and much less frequently a problem in practice.)
Per discussion, back-patch to 9.3 but not further.
M src/backend/postmaster/postmaster.c
M src/backend/postmaster/syslogger.c
M src/backend/utils/error/elog.c
M src/backend/utils/misc/guc.c
M src/include/utils/elog.h
9.3 release notes: move foreign table item
commit : 7cf5540c831460476d24566845422b8c81bd6581
author : Bruce Momjian <[email protected]>
date : Tue, 13 Aug 2013 12:51:26 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 13 Aug 2013 12:51:26 -0400
Move item about foreign data wrappers supporting inserts/updates/deletes
to object manipulation.
Backpatch to 9.3.
From Etsuro Fujita
M doc/src/sgml/release-9.3.sgml
PL/Python: Adjust the regression tests for Python 3.3
commit : 7f288a23484971dca7f75d866d0f1edb332fbc4b
author : Peter Eisentraut <[email protected]>
date : Sun, 11 Aug 2013 09:17:04 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 11 Aug 2013 09:17:04 -0400
Similar to 2cfb1c6f77734db81b6e74bcae630f93b94f69be, the order in which
dictionary elements are printed is not reliable. This reappeared in the
tests of the string representation of result objects. Reduce the test
case to one result set column so that there is no question of order.
M src/pl/plpython/expected/plpython_spi.out
M src/pl/plpython/sql/plpython_spi.sql
docs: mention Julian is midnight _UTC_ (Yes, there was no UTC back then, but we compute it that way.) Backpatch to 9.3.
commit : 2edaee01129f3494be71c7bbc7e5414ae0c37501
author : Bruce Momjian <[email protected]>
date : Fri, 9 Aug 2013 21:46:13 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 9 Aug 2013 21:46:13 -0400
M doc/src/sgml/func.sgml
Docs: Document to_*() Julian values are integers Backpatch to 9.3. Per request from Marc Dahn
commit : 95b5f5e1e75b22b1aa741b7545435d2af16f78d5
author : Bruce Momjian <[email protected]>
date : Fri, 9 Aug 2013 19:25:51 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 9 Aug 2013 19:25:51 -0400
M doc/src/sgml/func.sgml
Document how auto_explain.log_timing can be changed.
commit : 646cbc1f01b3104fb8e9ad68ea4df16bd9b4e16f
author : Fujii Masao <[email protected]>
date : Fri, 9 Aug 2013 22:14:26 +0900
committer: Fujii Masao <[email protected]>
date : Fri, 9 Aug 2013 22:14:26 +0900
M doc/src/sgml/auto-explain.sgml
Message punctuation and pluralization fixes
commit : 595f52f8171e9805c5753510a180faeb68165055
author : Peter Eisentraut <[email protected]>
date : Fri, 9 Aug 2013 07:59:53 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 9 Aug 2013 07:59:53 -0400
M src/backend/access/transam/multixact.c
M src/backend/access/transam/xlog.c
M src/backend/utils/adt/json.c
M src/backend/utils/adt/jsonfuncs.c
M src/test/regress/expected/json.out
M src/test/regress/expected/json_1.out
Message style improvements
commit : 92d003fcbfb73eebf0c1782dbd53c6e2f14d5cc4
author : Peter Eisentraut <[email protected]>
date : Wed, 7 Aug 2013 22:48:40 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 7 Aug 2013 22:48:40 -0400
M src/backend/parser/parse_utilcmd.c
M src/backend/port/sysv_shmem.c
M src/backend/postmaster/postmaster.c
M src/backend/utils/adt/jsonfuncs.c
M src/backend/utils/misc/guc.c
Make sure float4in/float8in accept all standard spellings of "infinity".
commit : b5a20ab3e0310103ff11337faeed3c521f5eb917
author : Tom Lane <[email protected]>
date : Sat, 3 Aug 2013 12:39:51 -0400
committer: Tom Lane <[email protected]>
date : Sat, 3 Aug 2013 12:39:51 -0400
The C99 and POSIX standards require strtod() to accept all these spellings
(case-insensitively): "inf", "+inf", "-inf", "infinity", "+infinity",
"-infinity". However, pre-C99 systems might accept only some or none of
these, and apparently Windows still doesn't accept "inf". To avoid
surprising cross-platform behavioral differences, manually check for each
of these spellings if strtod() fails. We were previously handling just
"infinity" and "-infinity" that way, but since C99 is most of the world
now, it seems likely that applications are expecting all these spellings
to work.
Per bug #8355 from Basil Peace. It turns out this fix won't actually
resolve his problem, because Python isn't being this careful; but that
doesn't mean we shouldn't be.
M src/backend/utils/adt/float.c
Fix old visibility bug in HeapTupleSatisfiesDirty
commit : 69fdc9577b09dce732153c33c2484dac7d506ad9
author : Alvaro Herrera <[email protected]>
date : Fri, 2 Aug 2013 14:34:56 -0400
committer: Alvaro Herrera <[email protected]>
date : Fri, 2 Aug 2013 14:34:56 -0400
If a tuple is locked but not updated by a concurrent transaction,
HeapTupleSatisfiesDirty would return that transaction's Xid in xmax,
causing callers to wait on it, when it is not necessary (in fact, if the
other transaction had used a multixact instead of a plain Xid to mark
the tuple, HeapTupleSatisfiesDirty would have behave differently and
*not* returned the Xmax).
This bug was introduced in commit 3f7fbf85dc5b42, dated December 1998,
so it's almost 15 years old now. However, it's hard to see this
misbehave, because before we had NOWAIT the only consequence of this is
that transactions would wait for slightly more time than necessary; so
it's not surprising that this hasn't been reported yet.
Craig Ringer and Andres Freund
M src/backend/utils/time/tqual.c
Fix crash in error report of invalid tuple lock
commit : 0009462e985b90d07dc430bb3c4f1e6f57e0c318
author : Alvaro Herrera <[email protected]>
date : Fri, 2 Aug 2013 12:49:03 -0400
committer: Alvaro Herrera <[email protected]>
date : Fri, 2 Aug 2013 12:49:03 -0400
My tweak of these error messages in commit c359a1b082 contained the
thinko that a query would always have rowMarks set for a query
containing a locking clause. Not so: when declaring a cursor, for
instance, rowMarks isn't set at the point we're checking, so we'd be
dereferencing a NULL pointer.
The fix is to pass the lock strength to the function raising the error,
instead of trying to reverse-engineer it. The result not only is more
robust, but it also seems cleaner overall.
Per report from Robert Haas.
M src/backend/optimizer/plan/planner.c
M src/backend/parser/analyze.c
M src/include/parser/analyze.h
M src/test/regress/expected/portals.out
M src/test/regress/expected/union.out
M src/test/regress/sql/portals.sql
M src/test/regress/sql/union.sql
Improve handling of pthread_mutex_lock error case
commit : 820739cba95622033527f60467a264db0ee91f76
author : Stephen Frost <[email protected]>
date : Thu, 1 Aug 2013 15:42:07 -0400
committer: Stephen Frost <[email protected]>
date : Thu, 1 Aug 2013 15:42:07 -0400
We should really be reporting a useful error along with returning
a valid return code if pthread_mutex_lock() throws an error for
some reason. Add that and back-patch to 9.0 as the prior patch.
Pointed out by Alvaro Herrera
M src/interfaces/libpq/fe-secure.c
Add locking around SSL_context usage in libpq
commit : 55754380f36d098551bd55dd49e27f64dd1c8d2f
author : Stephen Frost <[email protected]>
date : Thu, 1 Aug 2013 01:15:45 -0400
committer: Stephen Frost <[email protected]>
date : Thu, 1 Aug 2013 01:15:45 -0400
I've been working with Nick Phillips on an issue he ran into when
trying to use threads with SSL client certificates. As it turns out,
the call in initialize_SSL() to SSL_CTX_use_certificate_chain_file()
will modify our SSL_context without any protection from other threads
also calling that function or being at some other point and trying to
read from SSL_context.
To protect against this, I've written up the attached (based on an
initial patch from Nick and much subsequent discussion) which puts
locks around SSL_CTX_use_certificate_chain_file() and all of the other
users of SSL_context which weren't already protected.
Nick Phillips, much reworked by Stephen Frost
Back-patch to 9.0 where we started loading the cert directly instead of
using a callback.
M src/interfaces/libpq/fe-secure.c
Fix mis-indented lines
commit : 603c4a90c15f601ccf44cad3d3b04b39e4dc34eb
author : Alvaro Herrera <[email protected]>
date : Wed, 31 Jul 2013 17:57:15 -0400
committer: Alvaro Herrera <[email protected]>
date : Wed, 31 Jul 2013 17:57:15 -0400
Per Coverity
M src/backend/utils/misc/guc-file.l
Fix regexp_matches() handling of zero-length matches.
commit : 5d9951a65037fe2b7bdca8ed20c8775594672e34
author : Tom Lane <[email protected]>
date : Wed, 31 Jul 2013 11:31:26 -0400
committer: Tom Lane <[email protected]>
date : Wed, 31 Jul 2013 11:31:26 -0400
We'd find the same match twice if it was of zero length and not immediately
adjacent to the previous match. replace_text_regexp() got similar cases
right, so adjust this search logic to match that. Note that even though
the regexp_split_to_xxx() functions share this code, they did not display
equivalent misbehavior, because the second match would be considered
degenerate and ignored.
Jeevan Chalke, with some cosmetic changes by me.
M src/backend/utils/adt/regexp.c
M src/backend/utils/adt/varlena.c
M src/test/regress/expected/strings.out
M src/test/regress/sql/strings.sql
Fix inaccurate description of tablespace.
commit : fe136ba6fc31760efe7ac53e662395a71a92dc03
author : Fujii Masao <[email protected]>
date : Wed, 31 Jul 2013 22:36:39 +0900
committer: Fujii Masao <[email protected]>
date : Wed, 31 Jul 2013 22:36:39 +0900
Currently we don't need to update the pg_tablespace catalog
after redefining the symbolic links to the tablespaces
because pg_tablespace.spclocation column was removed in
PostgreSQL 9.2.
Back patch to 9.2 where pg_tablespace.spclocation was removed.
Ian Barwick, with minor change by me.
M doc/src/sgml/manage-ag.sgml
Restore REINDEX constraint validation.
commit : 9a78f66fdccbc85442f992f2928b4a58ae451208
author : Noah Misch <[email protected]>
date : Tue, 30 Jul 2013 18:36:52 -0400
committer: Noah Misch <[email protected]>
date : Tue, 30 Jul 2013 18:36:52 -0400
Refactoring as part of commit 8ceb24568054232696dddc1166a8563bc78c900a
had the unintended effect of making REINDEX TABLE and REINDEX DATABASE
no longer validate constraints enforced by the indexes in question;
REINDEX INDEX still did so. Indexes marked invalid remained so, and
constraint violations arising from data corruption went undetected.
Back-patch to 9.0, like the causative commit.
M src/backend/commands/indexcmds.c
M src/test/regress/expected/create_index.out
M src/test/regress/sql/create_index.sql
pg_upgrade: clarify C comment about Windows thread struct pointers Backpatch to 9.3 to keep source trees consistent.
commit : e243e3a42887f82be6dc5a6bf6e8534a733b8bc8
author : Bruce Momjian <[email protected]>
date : Tue, 30 Jul 2013 09:23:31 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 30 Jul 2013 09:23:31 -0400
M contrib/pg_upgrade/parallel.c
Fix contrib/cube and contrib/seg to build with bison 3.0.
commit : 8cbf8dfcaf9972b723dc48359df5be0a364b2e5f
author : Tom Lane <[email protected]>
date : Mon, 29 Jul 2013 10:42:41 -0400
committer: Tom Lane <[email protected]>
date : Mon, 29 Jul 2013 10:42:41 -0400
These modules used the YYPARSE_PARAM macro, which has been deprecated
by the bison folk since 1.875, and which they finally removed in 3.0.
Adjust the code to use the replacement facility, %parse-param, which
is a much better solution anyway since it allows specification of the
type of the extra parser parameter. We can thus get rid of a lot of
unsightly casting.
Back-patch to all active branches, since somebody might try to build
a back branch with up-to-date tools.
M contrib/cube/cube.c
M contrib/cube/cubeparse.y
M contrib/cube/cubescan.l
M contrib/seg/seg.c
M contrib/seg/segparse.y
M contrib/seg/segscan.l
Message style improvements
commit : faee8f1a714f24e85ba5fa1018b22f9681b5d657
author : Peter Eisentraut <[email protected]>
date : Sun, 28 Jul 2013 06:59:09 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 28 Jul 2013 06:59:09 -0400
M src/backend/access/transam/timeline.c
M src/backend/access/transam/xlog.c
M src/backend/postmaster/postmaster.c
M src/backend/replication/walreceiver.c
M src/backend/replication/walsender.c
pg_upgrade: fix -j race condition on Windows Pg_Upgrade cannot write the command string to the log file and then call system() to write to the same file without causing occasional file-share errors on Windows. So instead, write the command string to the log file after system(), in those cases. Backpatch to 9.3.
commit : d83940a7f60f48292b3ae58dfda81b146eab1c50
author : Bruce Momjian <[email protected]>
date : Sat, 27 Jul 2013 15:00:58 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 27 Jul 2013 15:00:58 -0400
M contrib/pg_upgrade/exec.c
pg_upgrade docs: don't use cluster for binary/lib In a few cases, pg_upgrade said old/new cluster location when it meant old/new Postgres install location, so fix those. Per private email report
commit : 61edd524017c4a3fa5f35e72e49f70f058be7a99
author : Bruce Momjian <[email protected]>
date : Fri, 26 Jul 2013 13:52:01 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 26 Jul 2013 13:52:01 -0400
M doc/src/sgml/pgupgrade.sgml
Prevent leakage of SPI tuple tables during subtransaction abort.
commit : 89bb2c76e4fec135df19e0d4e3135a3cf7a44a8a
author : Tom Lane <[email protected]>
date : Thu, 25 Jul 2013 16:45:47 -0400
committer: Tom Lane <[email protected]>
date : Thu, 25 Jul 2013 16:45:47 -0400
plpgsql often just remembers SPI-result tuple tables in local variables,
and has no mechanism for freeing them if an ereport(ERROR) causes an escape
out of the execution function whose local variable it is. In the original
coding, that wasn't a problem because the tuple table would be cleaned up
when the function's SPI context went away during transaction abort.
However, once plpgsql grew the ability to trap exceptions, repeated
trapping of errors within a function could result in significant
intra-function-call memory leakage, as illustrated in bug #8279 from
Chad Wagner.
We could fix this locally in plpgsql with a bunch of PG_TRY/PG_CATCH
coding, but that would be tedious, probably slow, and prone to bugs of
omission; moreover it would do nothing for similar risks elsewhere.
What seems like a better plan is to make SPI itself responsible for
freeing tuple tables at subtransaction abort. This patch attacks the
problem that way, keeping a list of live tuple tables within each SPI
function context. Currently, such freeing is automatic for tuple tables
made within the failed subtransaction. We might later add a SPI call to
mark a tuple table as not to be freed this way, allowing callers to opt
out; but until someone exhibits a clear use-case for such behavior, it
doesn't seem worth bothering.
A very useful side-effect of this change is that SPI_freetuptable() can
now defend itself against bad calls, such as duplicate free requests;
this should make things more robust in many places. (In particular,
this reduces the risks involved if a third-party extension contains
now-redundant SPI_freetuptable() calls in error cleanup code.)
Even though the leakage problem is of long standing, it seems imprudent
to back-patch this into stable branches, since it does represent an API
semantics change for SPI users. We'll patch this in 9.3, but live with
the leakage in older branches.
M doc/src/sgml/spi.sgml
M src/backend/executor/spi.c
M src/include/executor/spi.h
M src/include/executor/spi_priv.h
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpython/plpy_cursorobject.c
M src/pl/plpython/plpy_spi.c
Fix configure probe for sys/ucred.h.
commit : 7f0bc6b448e70f18b9ff35be3a90444542d09d08
author : Tom Lane <[email protected]>
date : Thu, 25 Jul 2013 11:39:11 -0400
committer: Tom Lane <[email protected]>
date : Thu, 25 Jul 2013 11:39:11 -0400
The configure script's test for <sys/ucred.h> did not work on OpenBSD,
because on that platform <sys/param.h> has to be included first.
As a result, socket peer authentication was disabled on that platform.
Problem introduced in commit be4585b1c27ac5dbdd0d61740d18f7ad9a00e268.
Andres Freund, slightly simplified by me.
M configure
M configure.in
pg_upgrade: adjust umask() calls Since pg_upgrade -j on Windows uses threads, calling umask() before/after opening a file via fopen_priv() is no longer possible, so set umask() as we enter the thread-creating loop, and reset it on exit. Also adjust internal fopen_priv() calls to just use fopen(). Backpatch to 9.3beta.
commit : 830d0e0edd73c015ca07423c402a3b1f79118d8f
author : Bruce Momjian <[email protected]>
date : Thu, 25 Jul 2013 11:33:14 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 25 Jul 2013 11:33:14 -0400
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/exec.c
pg_upgrade: fix initialization of thread argument Reorder initialization of thread argument marker to it happens before reap_child() is called. Backpatch to 9.3.
commit : b48f1dc2d35279b0814d60c24e488df2c295bb85
author : Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 22:01:14 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 22:01:14 -0400
M contrib/pg_upgrade/parallel.c
Improve ilist.h's support for deletion of slist elements during iteration.
commit : cf707aa70da6729a00593c49d5eb8a35ab27dd11
author : Tom Lane <[email protected]>
date : Wed, 24 Jul 2013 17:42:03 -0400
committer: Tom Lane <[email protected]>
date : Wed, 24 Jul 2013 17:42:03 -0400
Previously one had to use slist_delete(), implying an additional scan of
the list, making this infrastructure considerably less efficient than
traditional Lists when deletion of element(s) in a long list is needed.
Modify the slist_foreach_modify() macro to support deleting the current
element in O(1) time, by keeping a "prev" pointer in addition to "cur"
and "next". Although this makes iteration with this macro a bit slower,
no real harm is done, since in any scenario where you're not going to
delete the current list element you might as well just use slist_foreach
instead. Improve the comments about when to use each macro.
Back-patch to 9.3 so that we'll have consistent semantics in all branches
that provide ilist.h. Note this is an ABI break for callers of
slist_foreach_modify().
Andres Freund and Tom Lane
M src/backend/lib/ilist.c
M src/backend/postmaster/pgstat.c
M src/include/lib/ilist.h
pg_upgrade: more Windows parallel/-j fixes More fixes to handle Windows thread parameter passing. Backpatch to 9.3 beta. Patch originally from Andrew Dunstan
commit : 4a67a9ac13495d69b4d3b560b63cafda9318b4f4
author : Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 13:15:47 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 13:15:47 -0400
M contrib/pg_upgrade/parallel.c
M contrib/pg_upgrade/test.sh
pg_upgrade: fix parallel/-j crash on Windows This fixes the problem of passing the wrong function pointer when doing parallel copy/link operations on Windows. Backpatched to 9.3beta. Found and patch supplied by Andrew Dunstan
commit : 38afb907afccb4fac10f367a77c421172c04685d
author : Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 10:00:37 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 24 Jul 2013 10:00:37 -0400
M contrib/pg_upgrade/parallel.c
Fix booltestsel() for case where we have NULL stats but not MCV stats.
commit : 808d1f8122223a19d7796e2b50878b1b42450263
author : Tom Lane <[email protected]>
date : Wed, 24 Jul 2013 00:44:09 -0400
committer: Tom Lane <[email protected]>
date : Wed, 24 Jul 2013 00:44:09 -0400
In a boolean column that contains mostly nulls, ANALYZE might not find
enough non-null values to populate the most-common-values stats,
but it would still create a pg_statistic entry with stanullfrac set.
The logic in booltestsel() for this situation did the wrong thing for
"col IS NOT TRUE" and "col IS NOT FALSE" tests, forgetting that null
values would satisfy these tests (so that the true selectivity would
be close to one, not close to zero). Per bug #8274.
Fix by Andrew Gierth, some comment-smithing by me.
M src/backend/utils/adt/selfuncs.c
Further hacking on ruleutils' new column-alias-assignment code.
commit : 7f5cfe914de49130d86b2e1e9636b7135e577ef1
author : Tom Lane <[email protected]>
date : Tue, 23 Jul 2013 17:54:24 -0400
committer: Tom Lane <[email protected]>
date : Tue, 23 Jul 2013 17:54:24 -0400
After further thought about implicit coercions appearing in a joinaliasvars
list, I realized that they represent an additional reason why we might need
to reference the join output column directly instead of referencing an
underlying column. Consider SELECT x FROM t1 LEFT JOIN t2 USING (x) where
t1.x is of type date while t2.x is of type timestamptz. The merged output
variable is of type timestamptz, but it won't go to null when t2 does,
therefore neither t1.x nor t2.x is a valid substitute reference.
The code in get_variable() actually gets this case right, since it knows
it shouldn't look through a coercion, but we failed to ensure that the
unqualified output column name would be globally unique. To fix, modify
the code that trawls for a dangerous situation so that it actually scans
through an unnamed join's joinaliasvars list to see if there are any
non-simple-Var entries.
M src/backend/utils/adt/ruleutils.c
M src/test/regress/expected/create_view.out
M src/test/regress/sql/create_view.sql
Check for NULL result from strdup
commit : 5ef42547c3c55a0d743ea3fabe165ce3bcc3d3c8
author : Alvaro Herrera <[email protected]>
date : Tue, 23 Jul 2013 17:38:32 -0400
committer: Alvaro Herrera <[email protected]>
date : Tue, 23 Jul 2013 17:38:32 -0400
Per Coverity Scan
M src/interfaces/libpq/fe-secure.c
Change post-rewriter representation of dropped columns in joinaliasvars.
commit : b81d0691b9c6cc249511b92bb4b96f3a99a91eb0
author : Tom Lane <[email protected]>
date : Tue, 23 Jul 2013 16:23:04 -0400
committer: Tom Lane <[email protected]>
date : Tue, 23 Jul 2013 16:23:04 -0400
It's possible to drop a column from an input table of a JOIN clause in a
view, if that column is nowhere actually referenced in the view. But it
will still be there in the JOIN clause's joinaliasvars list. We used to
replace such entries with NULL Const nodes, which is handy for generation
of RowExpr expansion of a whole-row reference to the view. The trouble
with that is that it can't be distinguished from the situation after
subquery pull-up of a constant subquery output expression below the JOIN.
Instead, replace such joinaliasvars with null pointers (empty expression
trees), which can't be confused with pulled-up expressions. expandRTE()
still emits the old convention, though, for convenience of RowExpr
generation and to reduce the risk of breaking extension code.
In HEAD and 9.3, this patch also fixes a problem with some new code in
ruleutils.c that was failing to cope with implicitly-casted joinaliasvars
entries, as per recent report from Feike Steenbergen. That oversight was
because of an inadequate description of the data structure in parsenodes.h,
which I've now corrected. There were some pre-existing oversights of the
same ilk elsewhere, which I believe are now all fixed.
M src/backend/optimizer/util/var.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/utils/adt/ruleutils.c
M src/include/nodes/parsenodes.h
M src/test/regress/expected/create_view.out
M src/test/regress/sql/create_view.sql
Tweak FOR UPDATE/SHARE error message wording (again)
commit : 5712eeb2e7cf8e4236acffd4a403e7f14a48866f
author : Alvaro Herrera <[email protected]>
date : Tue, 23 Jul 2013 14:03:09 -0400
committer: Alvaro Herrera <[email protected]>
date : Tue, 23 Jul 2013 14:03:09 -0400
In commit 0ac5ad5134 I changed some error messages from "FOR
UPDATE/SHARE" to a rather long gobbledygook which nobody liked. Then,
in commit cb9b66d31 I changed them again, but the alternative chosen
there was deemed suboptimal by Peter Eisentraut, who in message
13739[email protected] proposed an alternative
involving a dynamically-constructed string based on the actual locking
strength specified in the SQL command. This patch implements that
suggestion.
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/parser/analyze.c
M src/include/parser/analyze.h
Back-patch bgworker API changes to 9.3.
commit : 026bc46da33ab6a6f720b0d0500e8a95d075ab92
author : Robert Haas <[email protected]>
date : Mon, 22 Jul 2013 15:41:44 -0400
committer: Robert Haas <[email protected]>
date : Mon, 22 Jul 2013 15:41:44 -0400
Commit 7f7485a0cde92aa4ba235a1ffe4dda0ca0b6cc9a made these changes
in master; per discussion, backport the API changes (but not the
functional changes), so that people don't get used to the 9.3 API
only to see it get broken in the next release. There are already
some people coding to the original 9.3 API, and this will cause
minor breakage, but there will be even more if we wait until next
year to roll out these changes.
M contrib/worker_spi/worker_spi.c
M doc/src/sgml/bgworker.sgml
M src/backend/postmaster/postmaster.c
M src/include/postmaster/bgworker.h
Remove bgw_sighup and bgw_sigterm.
commit : 295f9bbf1d2d1e985471bd523c7c9bfd3d134759
author : Robert Haas <[email protected]>
date : Mon, 22 Jul 2013 14:13:00 -0400
committer: Robert Haas <[email protected]>
date : Mon, 22 Jul 2013 14:13:00 -0400
Per discussion on pgsql-hackers, these aren't really needed. Interim
versions of the background worker patch had the worker starting with
signals already unblocked, which would have made this necessary.
But the final version does not, so we don't really need it; and it
doesn't work well with the new facility for starting dynamic background
workers, so just rip it out.
Also per discussion on pgsql-hackers, back-patch this change to 9.3.
It's best to get the API break out of the way before we do an
official release of this facility, to avoid more pain for extension
authors later.
M contrib/worker_spi/worker_spi.c
M doc/src/sgml/bgworker.sgml
M src/backend/postmaster/postmaster.c
M src/include/postmaster/bgworker.h
Fix error handling in PLy_spi_execute_fetch_result().
commit : 15b9bdf4d46e5b2858c7666dd4a39040aa12e668
author : Tom Lane <[email protected]>
date : Sat, 20 Jul 2013 12:44:37 -0400
committer: Tom Lane <[email protected]>
date : Sat, 20 Jul 2013 12:44:37 -0400
If an error is thrown out of the datatype I/O functions called by this
function, we need to do subtransaction cleanup, which the previous coding
entirely failed to do. Fortunately, both existing callers of this function
already have proper cleanup logic, so re-throwing the exception is enough.
Also, postpone creation of the resultset tupdesc until after the I/O
conversions are complete, so that we won't leak memory in TopMemoryContext
when such an error happens.
M src/pl/plpython/plpy_spi.c
Clean up new JSON API typedefs
commit : ef8321a57d38c00592614a6d8f0872a721d301c3
author : Peter Eisentraut <[email protected]>
date : Sat, 20 Jul 2013 06:38:31 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 20 Jul 2013 06:38:31 -0400
The new JSON API uses a bit of an unusual typedef scheme, where for
example OkeysState is a pointer to okeysState. And that's not applied
consistently either. Change that to the more usual PostgreSQL style
where struct typedefs are upper case, and use pointers explicitly.
M src/backend/utils/adt/json.c
M src/backend/utils/adt/jsonfuncs.c
M src/include/utils/jsonapi.h
Fix HeapTupleSatisfiesVacuum on aborted updater xacts
commit : 0b3859f3b607b375cfabb0a95bb4c58a4c1b37ee
author : Alvaro Herrera <[email protected]>
date : Fri, 19 Jul 2013 18:35:07 -0400
committer: Alvaro Herrera <[email protected]>
date : Fri, 19 Jul 2013 18:35:07 -0400
By using only the macro that checks infomask bits
HEAP_XMAX_IS_LOCKED_ONLY to verify whether a multixact is not an
updater, and not the full HeapTupleHeaderIsOnlyLocked, it would come to
the wrong result in case of a multixact containing an aborted update;
therefore returning the wrong result code. This would cause predicate.c
to break completely (as in bug report #8273 from David Leverton), and
certain index builds would misbehave. As far as I can tell, other
callers of the bogus routine would make harmless mistakes or not be
affected by the difference at all; so this was a pretty narrow case.
Also, no other user of the HEAP_XMAX_IS_LOCKED_ONLY macro is as
careless; they all check specifically for the HEAP_XMAX_IS_MULTI case,
and they all verify whether the updater is InvalidXid before concluding
that it's a valid updater. So there doesn't seem to be any similar bug.
M src/backend/utils/time/tqual.c
doc: Fix typos in conversion names.
commit : a9f8fe06bc38c9eb3e99191590713de903a91cfa
author : Robert Haas <[email protected]>
date : Fri, 19 Jul 2013 10:23:12 -0400
committer: Robert Haas <[email protected]>
date : Fri, 19 Jul 2013 10:23:12 -0400
David Christensen
M doc/src/sgml/func.sgml
Initialize day of year value.
commit : 24780e00d2bb10c6942edf579b60186ec469c77b
author : Michael Meskes <[email protected]>
date : Fri, 19 Jul 2013 08:59:20 +0200
committer: Michael Meskes <[email protected]>
date : Fri, 19 Jul 2013 08:59:20 +0200
There are cases where the day of year value in struct tm is used, but it never
got calculated. Problem found by Coverity scan.
M src/interfaces/ecpg/pgtypeslib/timestamp.c
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stdout
M src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
Fix regex match failures for backrefs combined with non-greedy quantifiers.
commit : f8463fba2434d083bb699d1cc8a7d7159d614a7b
author : Tom Lane <[email protected]>
date : Thu, 18 Jul 2013 21:22:43 -0400
committer: Tom Lane <[email protected]>
date : Thu, 18 Jul 2013 21:22:43 -0400
An ancient logic error in cfindloop() could cause the regex engine to fail
to find matches that begin later than the start of the string. This
function is only used when the regex pattern contains a back reference,
and so far as we can tell the error is only reachable if the pattern is
non-greedy (i.e. its first quantifier uses the ? modifier). Furthermore,
the actual match must begin after some potential match that satisfies the
DFA but then fails the back-reference's match test.
Reported and fixed by Jeevan Chalke, with cosmetic adjustments by me.
M src/backend/regex/regexec.c
M src/test/regress/expected/regex.out
M src/test/regress/sql/regex.sql
Use correct parameter name for view_option_value
commit : dd8ea2eb5e996f3f3dfd928e20aa2462c4bd9c63
author : Stephen Frost <[email protected]>
date : Wed, 17 Jul 2013 10:50:39 -0400
committer: Stephen Frost <[email protected]>
date : Wed, 17 Jul 2013 10:50:39 -0400
The documentation for ALTER VIEW had a minor copy-and-paste error in
defining the parameters. Noticed when reviewing the WITH CHECK OPTION
patch.
Backpatch to 9.2 where this was first introduced.
M doc/src/sgml/ref/alter_view.sgml
Fix PQconninfoParse error message handling
commit : bdbb1d673834ef7af16d97158d9d0006b17949f7
author : Peter Eisentraut <[email protected]>
date : Mon, 15 Jul 2013 20:04:14 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 15 Jul 2013 20:04:14 -0400
The returned error message already includes a newline, but the callers
were adding their own when printing it out.
M src/bin/pg_basebackup/streamutil.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/scripts/pg_isready.c
M src/interfaces/libpq/test/uri-regress.c
Correct off-by-one when reading from pipe
commit : 22b7f5c5aa1dc2909e110b171b03d6e0c85dcd43
author : Stephen Frost <[email protected]>
date : Mon, 15 Jul 2013 10:42:27 -0400
committer: Stephen Frost <[email protected]>
date : Mon, 15 Jul 2013 10:42:27 -0400
In pg_basebackup.c:reached_end_position(), we're reading from an
internal pipe with our own background process but we're possibly
reading more bytes than will actually fit into our buffer due to
an off-by-one error. As we're reading from an internal pipe
there's no real risk here, but it's good form to not depend on
such convenient arrangements.
Bug spotted by the Coverity scanner.
Back-patch to 9.2 where this showed up.
M src/bin/pg_basebackup/pg_basebackup.c
Check version before allocating PQExpBuffer
commit : 8126bfb5b5f0b413455edd23ff3bf08d83f1cddc
author : Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 21:17:59 -0400
committer: Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 21:17:59 -0400
In pg_dump.c:getEventTriggers, check what major version we are on
before calling createPQExpBuffer() to avoid leaking that bit of
memory.
Leak discovered by the Coverity scanner.
Back-patch to 9.3 where support for dumping event triggers was
added.
M src/bin/pg_dump/pg_dump.c
Be sure to close() file descriptor on error case
commit : b68a1fc7ff1a50a7282e8edff7c51333274c3334
author : Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 17:25:47 -0400
committer: Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 17:25:47 -0400
In receivelog.c:writeTimeLineHistoryFile(), we were not properly
closing the open'd file descriptor in error cases. While this
wouldn't matter much if we were about to exit due to such an
error, that's not the case with pg_receivexlog as it can be a
long-running process and these errors are non-fatal.
This resource leak was found by the Coverity scanner.
Back-patch to 9.3 where this issue first appeared.
M src/bin/pg_basebackup/receivelog.c
Ensure 64bit arithmetic when calculating tapeSpace
commit : e9010b992640d1dbf212cbbab40a00093515f16f
author : Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 16:42:58 -0400
committer: Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 16:42:58 -0400
In tuplesort.c:inittapes(), we calculate tapeSpace by first figuring
out how many 'tapes' we can use (maxTapes) and then multiplying the
result by the tape buffer overhead for each. Unfortunately, when
we are on a system with an 8-byte long, we allow work_mem to be
larger than 2GB and that allows maxTapes to be large enough that the
32bit arithmetic can overflow when multiplied against the buffer
overhead.
When this overflow happens, we end up adding the overflow to the
amount of space available, causing the amount of memory allocated to
be larger than work_mem.
Note that to reach this point, you have to set work mem to at least
24GB and be sorting a set which is at least that size. Given that a
user who can set work_mem to 24GB could also set it even higher, if
they were looking to run the system out of memory, this isn't
considered a security issue.
This overflow risk was found by the Coverity scanner.
Back-patch to all supported branches, as this issue has existed
since before 8.4.
M src/backend/utils/sort/tuplesort.c
pg_isready: Message improvement
commit : 5ab811106b58b06242047ee5dc69001bc983c3a1
author : Peter Eisentraut <[email protected]>
date : Sun, 14 Jul 2013 15:53:56 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 14 Jul 2013 15:53:56 -0400
M src/bin/scripts/pg_isready.c
pg_receivexlog - Exit on failure to parse
commit : f5acde9380e164eab10b2dc3281bb1c07f690803
author : Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 15:31:23 -0400
committer: Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 15:31:23 -0400
In streamutil.c:GetConnection(), upgrade failure to parse the
connection string to an exit(1) instead of simply returning NULL.
Most callers already immediately exited, but pg_receivexlog would
loop on this case, continually trying to re-parse the connection
string (which can't be changed after pg_receivexlog has started).
GetConnection() was already expected to exit(1) in some cases
(eg: failure to allocate memory or if unable to determine the
integer_datetimes flag), so this change shouldn't surprise anyone.
Began looking at this due to the Coverity scanner complaining that
we were leaking err_msg in this case- no longer an issue since we
just exit(1) immediately.
M src/bin/pg_basebackup/streamutil.c
During parallel pg_dump, free commands from master
commit : 8839e7362c68470f8db66acdfa60b95a1c5312cf
author : Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 14:35:26 -0400
committer: Stephen Frost <[email protected]>
date : Sun, 14 Jul 2013 14:35:26 -0400
The command strings read by the child processes during parallel
pg_dump, after being read and handled, were not being free'd.
This patch corrects this relatively minor memory leak.
Leak found by the Coverity scanner.
Back patch to 9.3 where parallel pg_dump was introduced.
M src/bin/pg_dump/parallel.c
Switch user ID to the object owner when populating a materialized view.
commit : fb7c0ac42e1a8e3cde74e83e2c758ada8c62a35e
author : Noah Misch <[email protected]>
date : Fri, 12 Jul 2013 18:21:22 -0400
committer: Noah Misch <[email protected]>
date : Fri, 12 Jul 2013 18:21:22 -0400
This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of
the object's provenance. REINDEX is an earlier example of this pattern.
As a downside, functions called from materialized views must tolerate
running in a security-restricted operation. CREATE MATERIALIZED VIEW
need not change user ID. Nonetheless, avoid creation of materialized
views that will invariably fail REFRESH by making it, too, start a
security-restricted operation.
Back-patch to 9.3 so materialized views have this from the beginning.
Reviewed by Kevin Grittner.
M doc/src/sgml/ref/create_materialized_view.sgml
M src/backend/commands/createas.c
M src/backend/commands/matview.c
pg_dump: Formatting cleanup of new messages
commit : 7484f89daa33477e0027a86ae772f44fa99224ed
author : Peter Eisentraut <[email protected]>
date : Thu, 11 Jul 2013 21:48:09 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 11 Jul 2013 21:48:09 -0400
M src/bin/pg_dump/parallel.c
M src/bin/pg_dump/pg_backup_directory.c
pg_upgrade: document possible pg_hba.conf options Previously, pg_upgrade docs recommended using .pgpass if using MD5 authentication to avoid being prompted for a password. Turns out pg_ctl never prompts for a password, so MD5 requires .pgpass --- document that. Also recommend 'peer' for authentication too. Backpatch back to 9.1.
commit : 02e61a8488de1ac559306db888901f8fa6db0755
author : Bruce Momjian <[email protected]>
date : Thu, 11 Jul 2013 09:43:19 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 11 Jul 2013 09:43:19 -0400
M doc/src/sgml/pgupgrade.sgml
doc: Replace link to pgFouine with pgBadger
commit : 583435d079767a73e1e7581bc354387c49e208ad
author : Peter Eisentraut <[email protected]>
date : Wed, 10 Jul 2013 22:40:41 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 10 Jul 2013 22:40:41 -0400
From: Ian Lawrence Barwick <[email protected]>
M doc/src/sgml/maintenance.sgml
Fix lack of message pluralization
commit : bf470b37cc7c9e018e9f789996ef45e35b442487
author : Peter Eisentraut <[email protected]>
date : Tue, 9 Jul 2013 20:49:44 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 9 Jul 2013 20:49:44 -0400
M src/backend/postmaster/postmaster.c
Fixed incorrect description of EXEC SQL VAR command.
commit : d0450f1fa60e1d3485e7ec52bdc5e51a03b00cfa
author : Michael Meskes <[email protected]>
date : Thu, 27 Jun 2013 16:00:32 +0200
committer: Michael Meskes <[email protected]>
date : Thu, 27 Jun 2013 16:00:32 +0200
Thanks to MauMau <[email protected]> for finding and fixing this.
M doc/src/sgml/ecpg.sgml
Fix mention of htup.h in pageinspect docs
commit : 469feb7afb5ee9958c50a8b3000df027a1be8e19
author : Alvaro Herrera <[email protected]>
date : Mon, 8 Jul 2013 17:11:55 -0400
committer: Alvaro Herrera <[email protected]>
date : Mon, 8 Jul 2013 17:11:55 -0400
It's htup_details.h now.
Jeff Janes
M doc/src/sgml/pageinspect.sgml
Fix planning of parameterized appendrel paths with expensive join quals.
commit : 8b6191e1d5e48d521c42d5f6bdbf8413874f7206
author : Tom Lane <[email protected]>
date : Sun, 7 Jul 2013 22:37:28 -0400
committer: Tom Lane <[email protected]>
date : Sun, 7 Jul 2013 22:37:28 -0400
The code in set_append_rel_pathlist() for building parameterized paths
for append relations (inheritance and UNION ALL combinations) supposed
that the cheapest regular path for a child relation would still be cheapest
when reparameterized. Which might not be the case, particularly if the
added join conditions are expensive to compute, as in a recent example from
Jeff Janes. Fix it to compare child path costs *after* reparameterizing.
We can short-circuit that if the cheapest pre-existing path is already
parameterized correctly, which seems likely to be true often enough to be
worth checking for.
Back-patch to 9.2 where parameterized paths were introduced.
M src/backend/optimizer/path/allpaths.c
M src/test/regress/expected/union.out
M src/test/regress/sql/union.sql
pg_isready: Make --help output more consistent with other utilities
commit : 95b4e8761e3aac9d27c59b89eb3ca5c90d93f9da
author : Peter Eisentraut <[email protected]>
date : Sun, 7 Jul 2013 16:01:29 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 7 Jul 2013 16:01:29 -0400
M src/bin/scripts/pg_isready.c
pg_resetxlog: Make --help consistent with man page
commit : 8ca0e6870c4534f3cc36899f613928b5557c22be
author : Peter Eisentraut <[email protected]>
date : Sun, 7 Jul 2013 15:56:23 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 7 Jul 2013 15:56:23 -0400
Use "MXID" as placeholder for -m option, instead of just "XID".
M src/bin/pg_resetxlog/pg_resetxlog.c
pg_upgrade: document link options Document that tablespaces and pg_xlog can be on different file systems for pg_upgrade --link mode. Backpatch to 9.3.
commit : bf8d8ddc08b9573d1b6ed2ef24c83db5fef18d8c
author : Bruce Momjian <[email protected]>
date : Sun, 7 Jul 2013 15:57:24 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 7 Jul 2013 15:57:24 -0400
M doc/src/sgml/pgupgrade.sgml
Fix include-guard
commit : 9f8830dbe203e1dde3e8aea594e4a23577e4d340
author : Magnus Hagander <[email protected]>
date : Sun, 7 Jul 2013 13:36:20 +0200
committer: Magnus Hagander <[email protected]>
date : Sun, 7 Jul 2013 13:36:20 +0200
Looks like a cut/paste error in the original addition of the file.
Andres Freund
M src/include/utils/attoptcache.h
Also escape double quotes for ECPG's #line statement.
commit : 7428a260f6ad32f3f02a98842f6f09fd8092d393
author : Michael Meskes <[email protected]>
date : Sat, 6 Jul 2013 22:08:53 +0200
committer: Michael Meskes <[email protected]>
date : Sat, 6 Jul 2013 22:08:53 +0200
M src/interfaces/ecpg/preproc/output.c
Rename a function to avoid naming conflict in parallel regression tests.
commit : e407192c937d993be1a4f5636a1afa57cf492f6f
author : Tom Lane <[email protected]>
date : Sat, 6 Jul 2013 11:16:53 -0400
committer: Tom Lane <[email protected]>
date : Sat, 6 Jul 2013 11:16:53 -0400
Commit 31a891857a128828d47d93c63e041f3b69cbab70 added some tests in
plpgsql.sql that used a function rather unthinkingly named "foo()".
However, rangefuncs.sql has some much older tests that create a function
of that name, and since these test scripts run in parallel, there is a
chance of failures if the timing is just right. Use another name to
avoid that. Per buildfarm (failure seen today on "hamerkop", but
probably it's happened before and not been noticed).
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql
Applied patch by MauMau <[email protected]> to escape filenames in #line statements.
commit : 7d114fb46fd2b88cfab05f8e36ba9e9762cd576a
author : Michael Meskes <[email protected]>
date : Fri, 5 Jul 2013 11:07:16 +0200
committer: Michael Meskes <[email protected]>
date : Fri, 5 Jul 2013 11:07:16 +0200
M src/interfaces/ecpg/preproc/output.c
Update messages, comments and documentation for materialized views.
commit : cf183732d2b2bda2f6fd927481f787ecb1f054fa
author : Noah Misch <[email protected]>
date : Fri, 5 Jul 2013 15:25:51 -0400
committer: Noah Misch <[email protected]>
date : Fri, 5 Jul 2013 15:25:51 -0400
All instances of the verbiage lagging the code. Back-patch to 9.3,
where materialized views were introduced.
M doc/src/sgml/maintenance.sgml
M src/backend/access/heap/tuptoaster.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/heap.c
M src/backend/commands/comment.c
M src/backend/commands/indexcmds.c
M src/backend/commands/seclabel.c
M src/backend/commands/tablecmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/vacuum.c
M src/backend/parser/parse_utilcmd.c
M src/backend/rewrite/rewriteDefine.c
M src/bin/pg_dump/common.c
M src/pl/tcl/pltcl.c
M src/test/regress/expected/create_table_like.out
Remove stray | character
commit : 462b562ab294dc15d6a578ebf424020f0a54e835
author : Magnus Hagander <[email protected]>
date : Fri, 5 Jul 2013 16:21:08 +0200
committer: Magnus Hagander <[email protected]>
date : Fri, 5 Jul 2013 16:21:08 +0200
Erikjan Rijkers
M doc/src/sgml/ref/copy.sgml
Add contrib function references in the doc index Backpatch to 9.3. Idea from Craig Ringer
commit : 8b4c798973033156db58dbca3b605e1045cc587d
author : Bruce Momjian <[email protected]>
date : Thu, 4 Jul 2013 11:33:08 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 4 Jul 2013 11:33:08 -0400
M doc/src/sgml/dblink.sgml
M doc/src/sgml/earthdistance.sgml
M doc/src/sgml/fuzzystrmatch.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/intagg.sgml
M doc/src/sgml/intarray.sgml
M doc/src/sgml/isn.sgml
M doc/src/sgml/ltree.sgml
M doc/src/sgml/pageinspect.sgml
M doc/src/sgml/pgbuffercache.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/pgfreespacemap.sgml
M doc/src/sgml/pgrowlocks.sgml
M doc/src/sgml/pgstatstatements.sgml
M doc/src/sgml/pgstattuple.sgml
M doc/src/sgml/pgtrgm.sgml
M doc/src/sgml/sslinfo.sgml
M doc/src/sgml/tablefunc.sgml
M doc/src/sgml/uuid-ossp.sgml
M doc/src/sgml/xml2.sgml
docs: Clarify flag dependencies for background workers.
commit : cdaf7bde971b592839cbc3794ead1740d1a2125a
author : Robert Haas <[email protected]>
date : Thu, 4 Jul 2013 11:11:56 -0400
committer: Robert Haas <[email protected]>
date : Thu, 4 Jul 2013 11:11:56 -0400
BGWORKER_BACKEND_DATABASE_CONNECTION can only be used if
BGWORKER_SHMEM_ACCESS is also used.
Michael Paquier, with some tweaks by me.
M doc/src/sgml/bgworker.sgml
doc: Fix typo in event trigger documentation
commit : f960fae017635a8c212ccd2168f091ea73564150
author : Peter Eisentraut <[email protected]>
date : Thu, 4 Jul 2013 10:27:33 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 4 Jul 2013 10:27:33 -0400
From: Dimitri Fontaine <[email protected]>
M doc/src/sgml/event-trigger.sgml
doc: Add event trigger C API documentation
commit : 775a9f3025b16dcc9804cca82e744f41e1523a6e
author : Peter Eisentraut <[email protected]>
date : Wed, 3 Jul 2013 21:06:20 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 3 Jul 2013 21:06:20 -0400
From: Dimitri Fontaine <[email protected]>
M doc/src/sgml/event-trigger.sgml
pg_buffercache: document column meanings Improve documentation for usagecount and relforknumber. Backpatch to 9.3 Suggestion from Satoshi Nagayasu
commit : d3cc1b2ff087cd68f281dad33743640dffbe01d1
author : Bruce Momjian <[email protected]>
date : Wed, 3 Jul 2013 14:25:06 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 3 Jul 2013 14:25:06 -0400
M doc/src/sgml/pgbuffercache.sgml
Fix handling of auto-updatable views on inherited tables.
commit : 654b702a1c01fa047a363a887f957886503ea67c
author : Tom Lane <[email protected]>
date : Wed, 3 Jul 2013 12:26:33 -0400
committer: Tom Lane <[email protected]>
date : Wed, 3 Jul 2013 12:26:33 -0400
An INSERT into such a view should work just like an INSERT into its base
table, ie the insertion should go directly into that table ... not be
duplicated into each child table, as was happening before, per bug #8275
from Rushabh Lathia. On the other hand, the current behavior for
UPDATE/DELETE seems reasonable: the update/delete traverses the child
tables, or not, depending on whether the view specifies ONLY or not.
Add some regression tests covering this area.
Dean Rasheed
M src/backend/rewrite/rewriteHandler.c
M src/test/regress/expected/updatable_views.out
M src/test/regress/sql/updatable_views.sql
Expose object name error fields in PL/pgSQL.
commit : c21bb48d6fc1827e117e2667e0a5d9d96d984f46
author : Noah Misch <[email protected]>
date : Wed, 3 Jul 2013 07:29:23 -0400
committer: Noah Misch <[email protected]>
date : Wed, 3 Jul 2013 07:29:23 -0400
Specifically, permit attaching them to the error in RAISE and retrieving
them from a caught error in GET STACKED DIAGNOSTICS. RAISE enforces
nothing about the content of the fields; for its purposes, they are just
additional string fields. Consequently, clarify in the protocol and
libpq documentation that the usual relationships between error fields,
like a schema name appearing wherever a table name appears, are not
universal. This freedom has other applications; consider a FDW
propagating an error from an RDBMS having no schema support.
Back-patch to 9.3, where core support for the error fields was
introduced. This prevents the confusion of having a release where libpq
exposes the fields and PL/pgSQL does not.
Pavel Stehule, lexical revisions by Noah Misch.
M doc/src/sgml/libpq.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/protocol.sgml
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/pl_gram.y
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql
doc: Remove i18ngurus.com link
commit : a74a977fb0ea535aeae06fe67ee1f9491c30b619
author : Peter Eisentraut <[email protected]>
date : Tue, 2 Jul 2013 20:32:09 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 2 Jul 2013 20:32:09 -0400
The web site is dead, and the Wayback Machine shows that it didn't have
much useful content before.
M doc/src/sgml/charset.sgml
doc: Arrange See Also links in more consistent order
commit : 7f3cd29f8f2bd447a34748afa6dedeeba5d463db
author : Peter Eisentraut <[email protected]>
date : Tue, 2 Jul 2013 20:12:58 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 2 Jul 2013 20:12:58 -0400
M doc/src/sgml/ref/create_event_trigger.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/ref/create_view.sgml
Mention extra_float_digits in floating point docs
commit : 061c7a3c7adbf366707dd4c7fdfdb606d00b0dd7
author : Alvaro Herrera <[email protected]>
date : Tue, 2 Jul 2013 12:21:16 -0400
committer: Alvaro Herrera <[email protected]>
date : Tue, 2 Jul 2013 12:21:16 -0400
Make it easier for readers of the FP docs to find out about possibly
truncated values.
Per complaint from Tom Duffey in message
[email protected]
Author: Albe Laurenz
Reviewed by: Abhijit Menon-Sen
M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
Silence compiler warning in assertion-enabled builds.
commit : ae8fc624066398b8a14a97c5f950ddc844657d24
author : Heikki Linnakangas <[email protected]>
date : Tue, 2 Jul 2013 17:23:42 +0300
committer: Heikki Linnakangas <[email protected]>
date : Tue, 2 Jul 2013 17:23:42 +0300
With -Wtype-limits, gcc correctly points out that size_t can never be < 0.
Backpatch to 9.3 and 9.2. It's been like this forever, but in <= 9.1 you got
a lot other warnings with -Wtype-limits anyway (at least with my version of
gcc).
Andres Freund
M src/pl/plpython/plpy_procedure.c
pg_dump docs: use escaped double-quotes, for Windows On Unix, you can embed double-quotes in single-quotes, and via versa. However, on Windows, you can only escape double-quotes in double-quotes, so use that in the pg_dump -t/table example. Backpatch to 9.3. Report from Mike Toews
commit : 4d6ae6aaec5744f734735b9ab8acf29a4e97f151
author : Bruce Momjian <[email protected]>
date : Mon, 1 Jul 2013 14:52:56 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 1 Jul 2013 14:52:56 -0400
M doc/src/sgml/ref/pg_dump.sgml
Fix cpluspluscheck in checksum code
commit : 95ffbce9a197a434bc1d5bd42268f05d3bfa8168
author : Peter Eisentraut <[email protected]>
date : Sun, 30 Jun 2013 10:25:43 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 30 Jun 2013 10:25:43 -0400
C++ is more picky about comparing signed and unsigned integers.
M src/include/storage/checksum_impl.h
Change errcode for lock_timeout to match NOWAIT
commit : 452d0c21825dd52c10af4538d850991bf6a00e38
author : Simon Riggs <[email protected]>
date : Sat, 29 Jun 2013 00:57:25 +0100
committer: Simon Riggs <[email protected]>
date : Sat, 29 Jun 2013 00:57:25 +0100
Set errcode to ERRCODE_LOCK_NOT_AVAILABLE
Zoltán Bsöszörményi
M src/backend/tcop/postgres.c
Update pg_resetxlog's documentation on multixacts
commit : 5e1ed63ac2ccb3d8e605ce2e428816c8487fe683
author : Alvaro Herrera <[email protected]>
date : Thu, 27 Jun 2013 15:31:04 -0400
committer: Alvaro Herrera <[email protected]>
date : Thu, 27 Jun 2013 15:31:04 -0400
I added some more functionality to it in 0ac5ad5134f27 but neglected to
add it to the docs.
Per Peter Eisentraut in message
[email protected]
M doc/src/sgml/ref/pg_resetxlog.sgml
M src/bin/pg_resetxlog/pg_resetxlog.c
Document relminmxid and datminmxid
commit : deac50021beded05ab98f973b6a66a58e42a06f9
author : Alvaro Herrera <[email protected]>
date : Thu, 27 Jun 2013 15:20:33 -0400
committer: Alvaro Herrera <[email protected]>
date : Thu, 27 Jun 2013 15:20:33 -0400
I introduced these new fields in 0ac5ad5134f27 but neglected to add them
to the system catalogs section of the docs.
Per Thom Brown in message
CAA-[email protected]
M doc/src/sgml/catalogs.sgml
Mark index-constraint comments with correct dependency in pg_dump.
commit : fc469af248a32560f6959b4ed29dc38477ab0ab0
author : Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 13:54:55 -0400
committer: Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 13:54:55 -0400
When there's a comment on an index that was created with UNIQUE or PRIMARY
KEY constraint syntax, we need to label the comment as depending on the
constraint not the index, since only the constraint object actually appears
in the dump. This incorrect dependency can lead to parallel pg_restore
trying to restore the comment before the index has been created, per bug
#8257 from Lloyd Albin.
This patch fixes pg_dump to produce the right dependency in dumps made
in the future. Usually we also try to hack pg_restore to work around
bogus dependencies, so that existing (wrong) dumps can still be restored in
parallel mode; but that doesn't seem practical here since there's no easy
way to relate the constraint dump entry to the comment after the fact.
Andres Freund
M src/bin/pg_dump/pg_dump.c
Expect EWOULDBLOCK from a non-blocking connect() call only on Windows.
commit : 0b173ced93ee7a0da0d38fa13926e7ec4925075e
author : Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 12:36:44 -0400
committer: Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 12:36:44 -0400
On Unix-ish platforms, EWOULDBLOCK may be the same as EAGAIN, which is
*not* a success return, at least not on Linux. We need to treat it as a
failure to avoid giving a misleading error message. Per the Single Unix
Spec, only EINPROGRESS and EINTR returns indicate that the connection
attempt is in progress.
On Windows, on the other hand, EWOULDBLOCK (WSAEWOULDBLOCK) is the expected
case. We must accept EINPROGRESS as well because Cygwin will return that,
and it doesn't seem worth distinguishing Cygwin from native Windows here.
It's not very clear whether EINTR can occur on Windows, but let's leave
that part of the logic alone in the absence of concrete trouble reports.
Also, remove the test for errno == 0, effectively reverting commit
da9501bddb42222dc33c031b1db6ce2133bcee7b, which AFAICS was just a thinko;
or at best it might have been a workaround for a platform-specific bug,
which we can hope is gone now thirteen years later. In any case, since
libpq makes no effort to reset errno to zero before calling connect(),
it seems unlikely that that test has ever reliably done anything useful.
Andres Freund and Tom Lane
M src/interfaces/libpq/fe-connect.c
Tweak wording in sequence-function docs to avoid PDF build failures.
commit : 4b2deb72564a35c54c01323f91ca3a6be56b02bc
author : Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 00:23:37 -0400
committer: Tom Lane <[email protected]>
date : Thu, 27 Jun 2013 00:23:37 -0400
Adjust the wording in the first para of "Sequence Manipulation Functions"
so that neither of the link phrases in it break across line boundaries,
in either A4- or US-page-size PDF output. This fixes a reported build
failure for the 9.3beta2 A4 PDF docs, and future-proofs this particular
para against causing similar problems in future. (Perhaps somebody will
fix this issue in the SGML/TeX documentation tool chain someday, but I'm
not holding my breath.)
Back-patch to all supported branches, since the same problem could rise up
to bite us in future updates if anyone changes anything earlier than this
in func.sgml.
M doc/src/sgml/func.sgml
Document effect of constant folding on CASE.
commit : 40265e3446b0c037510bb05dfe80e4131e77b754
author : Noah Misch <[email protected]>
date : Wed, 26 Jun 2013 19:51:56 -0400
committer: Noah Misch <[email protected]>
date : Wed, 26 Jun 2013 19:51:56 -0400
Back-patch to all supported versions.
Laurenz Albe
M doc/src/sgml/func.sgml
pg_receivexlog: Fix logic error
commit : dc22b34f86a29d393c6407861a6865e88736c22c
author : Peter Eisentraut <[email protected]>
date : Tue, 25 Jun 2013 23:50:14 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 25 Jun 2013 23:50:14 -0400
The code checking the WAL file name contained a logic error and wouldn't
actually catch some bad names.
M src/bin/pg_basebackup/pg_receivexlog.c
Avoid inconsistent type declaration
commit : cb687c751c8d2e9eb097339f8920ca8fcf29fc47
author : Alvaro Herrera <[email protected]>
date : Tue, 25 Jun 2013 16:36:29 -0400
committer: Alvaro Herrera <[email protected]>
date : Tue, 25 Jun 2013 16:36:29 -0400
Clang 3.3 correctly complains that a variable of type enum
MultiXactStatus cannot hold a value of -1, which makes sense. Change
the declared type of the variable to int instead, and apply casting as
necessary to avoid the warning.
Per notice from Andres Freund
M src/backend/access/heap/heapam.c
Properly dump dropped foreign table cols in binary-upgrade mode.
commit : a20d7c3bc3517e0c390a08d4f589fded953c9710
author : Andrew Dunstan <[email protected]>
date : Tue, 25 Jun 2013 13:46:10 -0400
committer: Andrew Dunstan <[email protected]>
date : Tue, 25 Jun 2013 13:46:10 -0400
In binary upgrade mode, we need to recreate and then drop dropped
columns so that all the columns get the right attribute number. This is
true for foreign tables as well as for native tables. For foreign
tables we have been getting the first part right but not the second,
leading to bogus columns in the upgraded database. Fix this all the way
back to 9.1, where foreign tables were introduced.
M src/bin/pg_dump/pg_dump.c
Support clean switchover.
commit : 0b958f3efcfcc3d9b0e39d550b705a28763bc9e2
author : Fujii Masao <[email protected]>
date : Wed, 26 Jun 2013 02:18:26 +0900
committer: Fujii Masao <[email protected]>
date : Wed, 26 Jun 2013 02:18:26 +0900
In replication, when we shutdown the master, walsender tries to send
all the outstanding WAL records to the standby, and then to exit. This
basically means that all the WAL records are fully synced between
two servers after the clean shutdown of the master. So, after
promoting the standby to new master, we can restart the stopped
master as new standby without the need for a fresh backup from
new master.
But there was one problem so far: though walsender tries to send all
the outstanding WAL records, it doesn't wait for them to be replicated
to the standby. Then, before receiving all the WAL records,
walreceiver can detect the closure of connection and exit. We cannot
guarantee that there is no missing WAL in the standby after clean
shutdown of the master. In this case, backup from new master is
required when restarting the stopped master as new standby.
This patch fixes this problem. It just changes walsender so that it
waits for all the outstanding WAL records to be replicated to the
standby before closing the replication connection.
Per discussion, this is a fix that needs to get backpatched rather than
new feature. So, back-patch to 9.1 where enough infrastructure for
this exists.
Patch by me, reviewed by Andres Freund.
M src/backend/replication/walsender.c
Stamp 9.3beta2.
commit : 09bd2acbe5ac866ce93d7c0e6ed90b426a576f1b
author : Peter Eisentraut <[email protected]>
date : Mon, 24 Jun 2013 14:55:41 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 24 Jun 2013 14:55:41 -0400
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
Translation updates
commit : 060ffab6b9f3e684c3a36b74af7bff4c1cfc4bc2
author : Peter Eisentraut <[email protected]>
date : Mon, 24 Jun 2013 14:16:15 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 24 Jun 2013 14:16:15 -0400
M src/backend/po/de.po
M src/backend/po/es.po
M src/backend/po/it.po
M src/backend/po/ru.po
M src/backend/po/zh_CN.po
M src/bin/initdb/po/es.po
M src/bin/pg_basebackup/po/cs.po
M src/bin/pg_basebackup/po/de.po
M src/bin/pg_basebackup/po/it.po
M src/bin/pg_basebackup/po/ru.po
M src/bin/pg_controldata/po/de.po
M src/bin/pg_controldata/po/es.po
M src/bin/pg_controldata/po/ru.po
M src/bin/pg_ctl/po/de.po
M src/bin/pg_ctl/po/es.po
M src/bin/pg_ctl/po/ru.po
M src/bin/pg_dump/po/es.po
M src/bin/pg_dump/po/it.po
M src/bin/pg_dump/po/ru.po
M src/bin/pg_resetxlog/po/de.po
M src/bin/pg_resetxlog/po/ru.po
M src/bin/psql/po/de.po
M src/bin/psql/po/es.po
M src/bin/psql/po/it.po
M src/bin/psql/po/ru.po
M src/bin/scripts/po/es.po
M src/bin/scripts/po/it.po
M src/bin/scripts/po/ru.po
Ensure no xid gaps during Hot Standby startup
commit : 7b2c9d682957418778dfb7217a536c5a99635a2b
author : Simon Riggs <[email protected]>
date : Sun, 23 Jun 2013 11:09:24 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 23 Jun 2013 11:09:24 +0100
In some cases with higher numbers of subtransactions
it was possible for us to incorrectly initialize
subtrans leading to complaints of missing pages.
Bug report by Sergey Konoplev
Analysis and fix by Andres Freund
M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
M src/include/storage/procarray.h
doc: Fix date in EPUB manifest
commit : 0b5a5c8e05e6ebc5923375b056885c6e9934ee31
author : Peter Eisentraut <[email protected]>
date : Fri, 21 Jun 2013 22:48:06 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 21 Jun 2013 22:48:06 -0400
If there is no <date> element, the publication date for the EPUB
manifest is taken from the copyright year. But something like
"1996-2013" is not a legal date specification. So the EPUB output
currently fails epubcheck.
Put in a separate <date> element with the current year. Put it in
legal.sgml, because copyright.pl already instructs to update that
manually, so it hopefully won't be missed.
M doc/src/sgml/legal.sgml
Further update CREATE FUNCTION documentation about argument names
commit : b3b2ea4ad799f5b0e9e0711d23a884102f2d9a66
author : Peter Eisentraut <[email protected]>
date : Wed, 19 Jun 2013 22:25:13 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 19 Jun 2013 22:25:13 -0400
More languages than SQL and PL/pgSQL actually support parameter names.
M doc/src/sgml/ref/create_function.sgml
initdb: Add blank line before output about checksums
commit : 75555da10bbf9b8d7e4c8f509255331a7e20865b
author : Peter Eisentraut <[email protected]>
date : Tue, 18 Jun 2013 21:56:13 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 18 Jun 2013 21:56:13 -0400
This maintains the logical grouping of the output better.
M src/bin/initdb/initdb.c
Fix the create_index regression test for Danish collation.
commit : 854ebd0f5fb069a6c96e14cff4965350fb5374a6
author : Kevin Grittner <[email protected]>
date : Wed, 19 Jun 2013 10:37:39 -0500
committer: Kevin Grittner <[email protected]>
date : Wed, 19 Jun 2013 10:37:39 -0500
In Danish collations, there are letter combinations which sort
higher than 'Z'. A test for values > 'WA' was picking up rows
where the value started with 'AA', causing the test to fail.
Backpatch to 9.2, where the failing test was added.
Per report from Svenne Krap and analysis by Jeff Janes
M src/test/regress/expected/create_index.out
M src/test/regress/sql/create_index.sql
Fix docs on lock level for ALTER TABLE VALIDATE
commit : 0ae1bf8c1be7eccc54792a9c211345f97a11f78e
author : Simon Riggs <[email protected]>
date : Tue, 18 Jun 2013 12:10:10 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 18 Jun 2013 12:10:10 +0100
ALTER TABLE .. VALIDATE CONSTRAINT previously
gave incorrect details about lock levels and
therefore incomplete reasons to use the option.
Initial bug report and fix from Marko Tiikkaja
Reworded by me to include comments by Kevin Grittner
M doc/src/sgml/ref/alter_table.sgml
psql: Re-allow -1 together with -c or -l
commit : 7558c1c00a2195e9de88121e2af5119b609a8600
author : Peter Eisentraut <[email protected]>
date : Mon, 17 Jun 2013 21:53:33 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 17 Jun 2013 21:53:33 -0400
M src/bin/psql/startup.c
Add buffer_std flag to MarkBufferDirtyHint().
commit : 20723ce80121d99b07c93e5bb9b32b7e09d75231
author : Jeff Davis <[email protected]>
date : Mon, 17 Jun 2013 08:02:12 -0700
committer: Jeff Davis <[email protected]>
date : Mon, 17 Jun 2013 08:02:12 -0700
MarkBufferDirtyHint() writes WAL, and should know if it's got a
standard buffer or not. Currently, the only callers where buffer_std
is false are related to the FSM.
In passing, rename XLOG_HINT to XLOG_FPI, which is more descriptive.
Back-patch to 9.3.
M src/backend/access/hash/hash.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/access/rmgrdesc/xlogdesc.c
M src/backend/access/transam/xlog.c
M src/backend/commands/sequence.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/freespace/freespace.c
M src/backend/storage/freespace/fsmpage.c
M src/backend/utils/time/tqual.c
M src/include/access/xlog.h
M src/include/catalog/pg_control.h
M src/include/storage/bufmgr.h
Fix description of archive format which pg_restore -j supports.
commit : 7b5d712d08df978d7345a7bbf14786ce3879f317
author : Fujii Masao <[email protected]>
date : Sun, 16 Jun 2013 09:39:16 +0900
committer: Fujii Masao <[email protected]>
date : Sun, 16 Jun 2013 09:39:16 +0900
M doc/src/sgml/ref/pg_restore.sgml
Use WaitLatch, not pg_usleep, for delaying in pg_sleep().
commit : c38b64c2959662298f23ad5d86246009e7853b75
author : Tom Lane <[email protected]>
date : Sat, 15 Jun 2013 16:22:29 -0400
committer: Tom Lane <[email protected]>
date : Sat, 15 Jun 2013 16:22:29 -0400
This avoids platform-dependent behavior wherein pg_sleep() might fail to be
interrupted by statement timeout, query cancel, SIGTERM, etc. Also, since
there's no reason to wake up once a second any more, we can reduce the
power consumption of a sleeping backend a tad.
Back-patch to 9.3, since use of SA_RESTART for SIGALRM makes this a bigger
issue than it used to be.
M src/backend/utils/adt/misc.c
Fix pg_restore -l with the directory archive to display the correct format name.
commit : fc02d2b245e82a385785bb4a0f49d8b617680779
author : Fujii Masao <[email protected]>
date : Sun, 16 Jun 2013 05:12:39 +0900
committer: Fujii Masao <[email protected]>
date : Sun, 16 Jun 2013 05:12:39 +0900
Back-patch to 9.1 where the directory archive was introduced.
M src/bin/pg_dump/pg_backup_archiver.c
Use SA_RESTART for all signals, including SIGALRM.
commit : 61f3ada319038e7597c81f7f454982852bf02de3
author : Tom Lane <[email protected]>
date : Sat, 15 Jun 2013 15:39:51 -0400
committer: Tom Lane <[email protected]>
date : Sat, 15 Jun 2013 15:39:51 -0400
The exclusion of SIGALRM dates back to Berkeley days, when Postgres used
SIGALRM in only one very short stretch of code. Nowadays, allowing it to
interrupt kernel calls doesn't seem like a very good idea, since its use
for statement_timeout means SIGALRM could occur anyplace in the code, and
there are far too many call sites where we aren't prepared to deal with
EINTR failures. When third-party code is taken into consideration, it
seems impossible that we ever could be fully EINTR-proof, so better to
use SA_RESTART always and deal with the implications of that. One such
implication is that we should not assume pg_usleep() will be terminated
early by a signal. Therefore, long sleeps should probably be replaced
by WaitLatch operations where practical.
Back-patch to 9.3 so we can get some beta testing on this change.
M src/backend/port/sysv_sema.c
M src/port/pqsignal.c
Avoid deadlocks during insertion into SP-GiST indexes.
commit : e472b921406407794bab911c64655b8b82375196
author : Tom Lane <[email protected]>
date : Fri, 14 Jun 2013 14:26:43 -0400
committer: Tom Lane <[email protected]>
date : Fri, 14 Jun 2013 14:26:43 -0400
SP-GiST's original scheme for avoiding deadlocks during concurrent index
insertions doesn't work, as per report from Hailong Li, and there isn't any
evident way to make it work completely. We could possibly lock individual
inner tuples instead of their whole pages, but preliminary experimentation
suggests that the performance penalty would be huge. Instead, if we fail
to get a buffer lock while descending the tree, just restart the tree
descent altogether. We keep the old tuple positioning rules, though, in
hopes of reducing the number of cases where this can happen.
Teodor Sigaev, somewhat edited by Tom Lane
M src/backend/access/spgist/README
M src/backend/access/spgist/spgdoinsert.c
M src/backend/access/spgist/spginsert.c
M src/include/access/spgist_private.h
Remove special-case treatment of LOG severity level in standalone mode.
commit : c62866eeafd52822ec61a0d2db9428c05e97d3cc
author : Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 23:15:15 -0400
committer: Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 23:15:15 -0400
elog.c has historically treated LOG messages as low-priority during
bootstrap and standalone operation. This has led to confusion and even
masked a bug, because the normal expectation of code authors is that
elog(LOG) will put something into the postmaster log, and that wasn't
happening during initdb. So get rid of the special-case rule and make
the priority order the same as it is in normal operation. To keep from
cluttering initdb's output and the behavior of a standalone backend,
tweak the severity level of three messages routinely issued by xlog.c
during startup and shutdown so that they won't appear in these cases.
Per my proposal back in December.
M src/backend/access/transam/xlog.c
M src/backend/utils/error/elog.c
Refactor checksumming code to make it easier to use externally.
commit : f04216341dd1cc235e975f93ac806d9d3729a344
author : Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 22:35:56 -0400
committer: Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 22:35:56 -0400
pg_filedump and other external utility programs are likely to want to be
able to check Postgres page checksums. To avoid messy duplication of code,
move the checksumming functionality into an exported header file, much as
we did awhile back for the CRC code.
In passing, get rid of an unportable assumption that a static char[] array
will be word-aligned, and do some other minor code beautification.
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/page/bufpage.c
M src/backend/storage/page/checksum.c
M src/include/storage/checksum.h
A src/include/storage/checksum_impl.h
PL/Python: Fix type mixup
commit : fa2fc066f34f1b631b5f92f11e7cda9f60a25330
author : Peter Eisentraut <[email protected]>
date : Thu, 13 Jun 2013 21:42:42 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 13 Jun 2013 21:42:42 -0400
Memory was allocated based on the sizeof a type that was not the type of
the pointer that the result was being assigned to. The types happen to
be of the same size, but it's still wrong.
M src/pl/plpython/plpy_typeio.c
Only install a portal's ResourceOwner if it actually has one.
commit : 629b3e96dd64fa081d8b4610c5a723ef68af09d7
author : Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 13:11:29 -0400
committer: Tom Lane <[email protected]>
date : Thu, 13 Jun 2013 13:11:29 -0400
In most scenarios a portal without a ResourceOwner is dead and not subject
to any further execution, but a portal for a cursor WITH HOLD remains in
existence with no ResourceOwner after the creating transaction is over.
In this situation, if we attempt to "execute" the portal directly to fetch
data from it, we were setting CurrentResourceOwner to NULL, leading to a
segfault if the datatype output code did anything that required a resource
owner (such as trying to fetch system catalog entries that weren't already
cached). The case appears to be impossible to provoke with stock libpq,
but psqlODBC at least is able to cause it when working with held cursors.
Simplest fix is to just skip the assignment to CurrentResourceOwner, so
that any resources used by the data output operations will be managed by
the transaction-level resource owner instead. For consistency I changed
all the places that install a portal's resowner as current, even though
some of them are probably not reachable with a held cursor's portal.
Per report from Joshua Berry (with thanks to Hiroshi Inoue for developing
a self-contained test case). Back-patch to all supported versions.
M src/backend/commands/portalcmds.c
M src/backend/tcop/pquery.c
Avoid reading past datum end when parsing JSON.
commit : 66008564f8ce570f7ad6368fbde2138e946d328b
author : Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:51:12 -0400
committer: Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:51:12 -0400
Several loops in the JSON parser examined a byte in memory just before
checking whether its address was in-bounds, so they could read one byte
beyond the datum's allocation. A SIGSEGV is possible. New in 9.3, so
no back-patch.
M src/backend/utils/adt/json.c
Avoid reading below the start of a stack variable in tokenize_file().
commit : 3a5d0c55338e6beb4c01ed5fadb1462e90db7545
author : Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:52 -0400
committer: Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:52 -0400
We would wrongly overwrite the prior stack byte if it happened to
contain '\n' or '\r'. New in 9.3, so no back-patch.
M src/backend/libpq/hba.c
Don't pass oidvector by value.
commit : 813895e4acfa646c6c0405a0a8c5d05637f42865
author : Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:37 -0400
committer: Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:37 -0400
Since the structure ends with a flexible array, doing so truncates any
vector having more than one element. New in 9.3, so no back-patch.
M src/backend/commands/alter.c
M src/backend/commands/functioncmds.c
M src/include/commands/defrem.h
Observe array length in HaveVirtualXIDsDelayingChkpt().
commit : fb435f40d5e34f85076a0af56b2f3bf7b86122b8
author : Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:14 -0400
committer: Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:50:14 -0400
Since commit f21bb9cfb5646e1793dcc9c0ea697bab99afa523, this function
ignores the caller-provided length and loops until it finds a
terminator, which GetVirtualXIDsDelayingChkpt() never adds. Restore the
previous loop control logic. In passing, revert the addition of an
unused variable by the same commit, presumably a debugging relic.
M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
Don't use ordinary NULL-terminated strings as Name datums.
commit : ff53890f687c7f6b2a10db6661e9c32faf832636
author : Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:49:50 -0400
committer: Noah Misch <[email protected]>
date : Wed, 12 Jun 2013 19:49:50 -0400
Consumers are entitled to read the full 64 bytes pertaining to a Name;
using a shorter NULL-terminated string leads to reading beyond the end
its allocation; a SIGSEGV is possible. Use the frequent idiom of
copying to a NameData on the stack. New in 9.3, so no back-patch.
M src/backend/commands/alter.c
M src/backend/commands/event_trigger.c
Improve updatability checking for views and foreign tables.
commit : dc3eb5638349e74a6628130a5101ce866455f4a3
author : Tom Lane <[email protected]>
date : Wed, 12 Jun 2013 17:52:54 -0400
committer: Tom Lane <[email protected]>
date : Wed, 12 Jun 2013 17:52:54 -0400
Extend the FDW API (which we already changed for 9.3) so that an FDW can
report whether specific foreign tables are insertable/updatable/deletable.
The default assumption continues to be that they're updatable if the
relevant executor callback function is supplied by the FDW, but finer
granularity is now possible. As a test case, add an "updatable" option to
contrib/postgres_fdw.
This patch also fixes the information_schema views, which previously did
not think that foreign tables were ever updatable, and fixes
view_is_auto_updatable() so that a view on a foreign table can be
auto-updatable.
initdb forced due to changes in information_schema views and the functions
they rely on. This is a bit unfortunate to do post-beta1, but if we don't
change this now then we'll have another API break for FDWs when we do
change it.
Dean Rasheed, somewhat editorialized on by Tom Lane
M contrib/postgres_fdw/expected/postgres_fdw.out
M contrib/postgres_fdw/option.c
M contrib/postgres_fdw/postgres_fdw.c
M contrib/postgres_fdw/sql/postgres_fdw.sql
M doc/src/sgml/fdwhandler.sgml
M doc/src/sgml/postgres-fdw.sgml
M src/backend/catalog/information_schema.sql
M src/backend/executor/execMain.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/utils/adt/misc.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/foreign/fdwapi.h
M src/include/rewrite/rewriteHandler.h
M src/include/utils/builtins.h
Fix unescaping of JSON Unicode escapes, especially for non-UTF8.
commit : 78ed8e03c67d7333708f5c1873ec1d239ae2d7e0
author : Andrew Dunstan <[email protected]>
date : Wed, 12 Jun 2013 13:35:24 -0400
committer: Andrew Dunstan <[email protected]>
date : Wed, 12 Jun 2013 13:35:24 -0400
Per discussion on -hackers. We treat Unicode escapes when unescaping
them similarly to the way we treat them in PostgreSQL string literals.
Escapes in the ASCII range are always accepted, no matter what the
database encoding. Escapes for higher code points are only processed in
UTF8 databases, and attempts to process them in other databases will
result in an error. \u0000 is never unescaped, since it would result in
an impermissible null byte.
M doc/src/sgml/func.sgml
M src/backend/utils/adt/json.c
M src/test/regress/expected/json.out
A src/test/regress/expected/json_1.out
M src/test/regress/sql/json.sql
Improve description of loread/lowrite.
commit : c1d729b419ee876c32ddf4ac3a85fa89a6b4a89b
author : Robert Haas <[email protected]>
date : Wed, 12 Jun 2013 12:20:59 -0400
committer: Robert Haas <[email protected]>
date : Wed, 12 Jun 2013 12:20:59 -0400
Patch by me, reviewed by Tatsuo Ishii.
M doc/src/sgml/lobj.sgml
Fix cache flush hazard in cache_record_field_properties().
commit : e262755bfc97f31442cc0def8098b1a7d2913355
author : Tom Lane <[email protected]>
date : Tue, 11 Jun 2013 17:26:42 -0400
committer: Tom Lane <[email protected]>
date : Tue, 11 Jun 2013 17:26:42 -0400
We need to increment the refcount on the composite type's cached tuple
descriptor while we do lookups of its column types. Otherwise a cache
flush could occur and release the tuple descriptor before we're done with
it. This fails reliably with -DCLOBBER_CACHE_ALWAYS, but the odds of a
failure in a production build seem rather low (since the pfree'd descriptor
typically wouldn't get scribbled on immediately). That may explain the
lack of any previous reports. Buildfarm issue noted by Christian Ullrich.
Back-patch to 9.1 where the bogus code was added.
M src/backend/utils/cache/typcache.c
Add description that loread()/lowrite() are corresponding to lo_read()/lo_write() in libpq to avoid confusion.
commit : ecdec470e7a39316df185d387aeaeceab7155ada
author : Tatsuo Ishii <[email protected]>
date : Tue, 11 Jun 2013 14:25:58 +0900
committer: Tatsuo Ishii <[email protected]>
date : Tue, 11 Jun 2013 14:25:58 +0900
M doc/src/sgml/lobj.sgml
Fix pg_isready to handle conninfo properly.
commit : 941c4ece98d08113b557bc8e7dbd8a9ac0ffac3e
author : Fujii Masao <[email protected]>
date : Tue, 11 Jun 2013 03:03:16 +0900
committer: Fujii Masao <[email protected]>
date : Tue, 11 Jun 2013 03:03:16 +0900
pg_isready displays the host name and the port number that it uses to connect
to the server. So far, pg_isready didn't use the conninfo specified in -d option
for calculating those host name and port number. This can lead to wrong display
to a user. This commit changes pg_isready so that it uses the conninfo for that
calculation.
Original patch by Phil Sorber, modified by me.
M src/bin/scripts/pg_isready.c
Fix ordering of obj id for Rules and EventTriggers in pg_dump.
commit : 33a4466f767be8b153ef1ef78433ad9b1867dab8
author : Joe Conway <[email protected]>
date : Sun, 9 Jun 2013 17:30:39 -0700
committer: Joe Conway <[email protected]>
date : Sun, 9 Jun 2013 17:30:39 -0700
getSchemaData() must identify extension member objects and mark them
as not to be dumped. This must happen after reading all objects that can be
direct members of extensions, but before we begin to process table subsidiary
objects. Both rules and event triggers were wrong in this regard.
Backport rules portion of patch to 9.1 -- event triggers do not exist prior to 9.3.
Suggested fix by Tom Lane, initial complaint and patch by me.
M src/bin/pg_dump/common.c
Tweak postgres_fdw regression test so autovacuum doesn't change results.
commit : e0b451e43250558b3c1ac830e067b39e25e0e348
author : Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 19:41:52 -0400
committer: Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 19:41:52 -0400
Autovacuum occurring while the test runs could allow some of the inserts to
go into recycled space, thus changing the output ordering of later queries.
While we could complicate those queries to force sorting of their output
rows, it doesn't seem like that would make the test better in any
meaningful way, and conceivably it could hide unexpected diffs. Instead,
tweak the affected queries so that the inserted rows aren't updated by the
following UPDATE. Per buildfarm.
M contrib/postgres_fdw/expected/postgres_fdw.out
M contrib/postgres_fdw/sql/postgres_fdw.sql
Remove unnecessary restrictions about RowExprs in transformAExprIn().
commit : a4424c57c3da52efa212b21521abff4bf129b19e
author : Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 18:39:20 -0400
committer: Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 18:39:20 -0400
When the existing code here was written, it made sense to special-case
RowExprs because that was the only way that we could handle row comparisons
at all. Now that we have record_eq() and arrays of composites, the generic
logic for "scalar" types will in fact work on RowExprs too, so there's no
reason to throw error for combinations of RowExprs and other ways of
forming composite values, nor to ignore the possibility of using a
ScalarArrayOpExpr. But keep using the old logic when comparing two
RowExprs, for consistency with the main transformAExprOp() logic. (This
allows some cases with not-quite-identical rowtypes to succeed, so we might
get push-back if we removed it.) Per bug #8198 from Rafal Rzepecki.
Back-patch to all supported branches, since this works fine as far back as
8.4.
Rafal Rzepecki and Tom Lane
M src/backend/parser/parse_expr.c
M src/test/regress/expected/rowtypes.out
M src/test/regress/sql/rowtypes.sql
Remove ALTER DEFAULT PRIVILEGES' requirement of schema CREATE permissions.
commit : f3839ea117fba6fdb69c75a1fe145aa86a4c8ae3
author : Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 15:26:40 -0400
committer: Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 15:26:40 -0400
Per discussion, this restriction isn't needed for any real security reason,
and it seems to confuse people more often than it helps them. It could
also result in some database states being unrestorable. So just drop it.
Back-patch to 9.0, where ALTER DEFAULT PRIVILEGES was introduced.
M doc/src/sgml/ref/alter_default_privileges.sgml
M src/backend/catalog/aclchk.c
Remove fixed limit on the number of concurrent AllocateFile() requests.
commit : 007556bf08e6153c442fe3742adb3685fca3a0e0
author : Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 13:46:54 -0400
committer: Tom Lane <[email protected]>
date : Sun, 9 Jun 2013 13:46:54 -0400
AllocateFile(), AllocateDir(), and some sister routines share a small array
for remembering requests, so that the files can be closed on transaction
failure. Previously that array had a fixed size, MAX_ALLOCATED_DESCS (32).
While historically that had seemed sufficient, Steve Toutant pointed out
that this meant you couldn't scan more than 32 file_fdw foreign tables in
one query, because file_fdw depends on the COPY code which uses
AllocateFile(). There are probably other cases, or will be in the future,
where this nonconfigurable limit impedes users.
We can't completely remove any such limit, at least not without a lot of
work, since each such request requires a kernel file descriptor and most
platforms limit the number we can have. (In principle we could
"virtualize" these descriptors, as fd.c already does for the main VFD pool,
but not without an additional layer of overhead and a lot of notational
impact on the calling code.) But we can at least let the array size be
configurable. Hence, change the code to allow up to max_safe_fds/2
allocated file requests. On modern platforms this should allow several
hundred concurrent file_fdw scans, or more if one increases the value of
max_files_per_process. To go much further than that, we'd need to do some
more work on the data structure, since the current code for closing
requests has potentially O(N^2) runtime; but it should still be all right
for request counts in this range.
Back-patch to 9.1 where contrib/file_fdw was introduced.
M src/backend/storage/file/fd.c
Don't downcase non-ascii identifier chars in multi-byte encodings.
commit : d535136b5d60b19f7ffa777b97ed301739c15a9d
author : Andrew Dunstan <[email protected]>
date : Sat, 8 Jun 2013 10:00:09 -0400
committer: Andrew Dunstan <[email protected]>
date : Sat, 8 Jun 2013 10:00:09 -0400
Long-standing code has called tolower() on identifier character bytes
with the high bit set. This is clearly an error and produces junk output
when the encoding is multi-byte. This patch therefore restricts this
activity to cases where there is a character with the high bit set AND
the encoding is single-byte.
There have been numerous gripes about this, most recently from Martin
Schäfer.
Backpatch to all live releases.
M src/backend/parser/scansup.c
Handle Unicode surrogate pairs correctly when processing JSON.
commit : 94e3311b97448324d67ba9a527854271373329d9
author : Andrew Dunstan <[email protected]>
date : Sat, 8 Jun 2013 09:12:48 -0400
committer: Andrew Dunstan <[email protected]>
date : Sat, 8 Jun 2013 09:12:48 -0400
In 9.2, Unicode escape sequences are not analysed at all other than
to make sure that they are in the form \uXXXX. But in 9.3 many of the
new operators and functions try to turn JSON text values into text in
the server encoding, and this includes de-escaping Unicode escape
sequences. This processing had not taken into account the possibility
that this might contain a surrogate pair to designate a character
outside the BMP. That is now handled correctly.
This also enforces correct use of surrogate pairs, something that is not
done by the type's input routines. This fact is noted in the docs.
M doc/src/sgml/func.sgml
M src/backend/utils/adt/json.c
M src/test/regress/expected/json.out
M src/test/regress/sql/json.sql
doc: Fix <synopsis> in <term> markup
commit : c99d5d1bcc137c15058458bbdcdd2789b56e4c66
author : Peter Eisentraut <[email protected]>
date : Fri, 7 Jun 2013 22:00:59 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 7 Jun 2013 22:00:59 -0400
Although the DTD technically allows this, the resulting HTML is invalid
because it puts block elements inside inline elements. DocBook 5.0 also
doesn't allow it anymore, so it's fair to assume that this was never
really intended to work. Replace <synopsis> with <literal>, which is
the markup used elsewhere in the documentation in similar cases.
M doc/src/sgml/textsearch.sgml
Correct the documentation of pg_rewrite.ev_attr.
commit : 734fbbd1d2d1babfbd195414e2445024ad549ae3
author : Kevin Grittner <[email protected]>
date : Fri, 7 Jun 2013 08:04:22 -0500
committer: Kevin Grittner <[email protected]>
date : Fri, 7 Jun 2013 08:04:22 -0500
It claimed the value was always zero; it is really always -1.
Per report from Hari Babu
M doc/src/sgml/catalogs.sgml
Minor docs wordsmithing.
commit : 7b1e893acd4b7637de93631781f82e0f6834b621
author : Tom Lane <[email protected]>
date : Fri, 7 Jun 2013 00:08:02 -0400
committer: Tom Lane <[email protected]>
date : Fri, 7 Jun 2013 00:08:02 -0400
Swap the order of a couple of phrases to clarify what the adjective
"subsequent" applies to.
Joshua Tolley
M doc/src/sgml/ref/select.sgml
doc: Clarify description of VALUES command
commit : 58617e4dc131561f4b6ba492d6a404b05bd0b968
author : Peter Eisentraut <[email protected]>
date : Thu, 6 Jun 2013 21:03:04 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 6 Jun 2013 21:03:04 -0400
Greg Smith
M doc/src/sgml/queries.sgml
Fix typo in comment.
commit : f73cb5567c2e27d9a02c7ddba9da8d8557cf08dd
author : Heikki Linnakangas <[email protected]>
date : Thu, 6 Jun 2013 18:25:26 +0300
committer: Heikki Linnakangas <[email protected]>
date : Thu, 6 Jun 2013 18:25:26 +0300
M src/backend/access/transam/xlog.c
Ensure that XLOG_HEAP2_VISIBLE always targets an initialized page.
commit : a6370fd9ed3dbad6070b789eae916d6a037e4773
author : Robert Haas <[email protected]>
date : Thu, 6 Jun 2013 10:03:37 -0400
committer: Robert Haas <[email protected]>
date : Thu, 6 Jun 2013 10:03:37 -0400
Andres Freund
M src/backend/commands/vacuumlazy.c
pg_upgrade: document that --link should be used with --check Backpatch to 9.2.
commit : e2c84bc9f5f1f2f9570c882d10c2cbdf6fe9e47d
author : Bruce Momjian <[email protected]>
date : Thu, 6 Jun 2013 10:13:55 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 6 Jun 2013 10:13:55 -0400
M doc/src/sgml/pgupgrade.sgml
Prevent pushing down WHERE clauses into unsafe UNION/INTERSECT nests.
commit : 964c0d0f80e485dd3a4073e073ddfd9bfdda90b2
author : Tom Lane <[email protected]>
date : Wed, 5 Jun 2013 23:44:02 -0400
committer: Tom Lane <[email protected]>
date : Wed, 5 Jun 2013 23:44:02 -0400
The planner is aware that it mustn't push down upper-level quals into
subqueries if the quals reference subquery output columns that contain
set-returning functions or volatile functions, or are non-DISTINCT outputs
of a DISTINCT ON subquery. However, it missed making this check when
there were one or more levels of UNION or INTERSECT above the dangerous
expression. This could lead to "set-valued function called in context that
cannot accept a set" errors, as seen in bug #8213 from Eric Soroos, or to
silently wrong answers in the other cases.
To fix, refactor the checks so that we make the column-is-unsafe checks
during subquery_is_pushdown_safe(), which already has to recursively
inspect all arms of a set-operation tree. This makes
qual_is_pushdown_safe() considerably simpler, at the cost that we will
spend some cycles checking output columns that possibly aren't referenced
in any upper qual. But the cases where this code gets executed at all
are already nontrivial queries, so it's unlikely anybody will notice any
slowdown of planning.
This has been broken since commit 05f916e6add9726bf4ee046e4060c1b03c9961f2,
which makes the bug over ten years old. A bit surprising nobody noticed it
before now.
M src/backend/optimizer/path/allpaths.c
M src/test/regress/expected/union.out
M src/test/regress/sql/union.sql
Update SQL features list
commit : a3bd6096bdc6db70ec267116ba52a4cccbd34c2a
author : Peter Eisentraut <[email protected]>
date : Wed, 5 Jun 2013 22:05:18 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 5 Jun 2013 22:05:18 -0400
M src/backend/catalog/sql_features.txt
Put analyze_keyword back in explain_option_name production.
commit : 3f783c882712db5a5e0056f271ff765edeb2571a
author : Tom Lane <[email protected]>
date : Wed, 5 Jun 2013 13:32:53 -0400
committer: Tom Lane <[email protected]>
date : Wed, 5 Jun 2013 13:32:53 -0400
In commit 2c92edad48796119c83d7dbe6c33425d1924626d, I broke "EXPLAIN
(ANALYZE)" syntax, because I mistakenly thought that ANALYZE/ANALYSE were
only partially reserved and thus would be included in NonReservedWord;
but actually they're fully reserved so they still need to be called out
here.
A nicer solution would be to demote these words to type_func_name_keyword
status (they can't be less than that because of "VACUUM [ANALYZE] ColId").
While that works fine so far as the core grammar is concerned, it breaks
ECPG's grammar for reasons I don't have time to isolate at the moment.
So do this for the time being.
Per report from Kevin Grittner. Back-patch to 9.0, like the previous
commit.
M src/backend/parser/gram.y
Provide better message when CREATE EXTENSION can't find a target schema.
commit : 530acda4dabe26a4345eccd28a92dd23b1e7a94a
author : Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 17:22:29 -0400
committer: Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 17:22:29 -0400
The new message (and SQLSTATE) matches the corresponding error cases in
namespace.c.
This was thought to be a "can't happen" case when extension.c was written,
so we didn't think hard about how to report it. But it definitely can
happen in 9.2 and later, since we no longer require search_path to contain
any valid schema names. It's probably also possible in 9.1 if search_path
came from a noninteractive source. So, back-patch to all releases
containing this code.
Per report from Sean Chittenden, though this isn't exactly his patch.
M src/backend/commands/extension.c
Add ARM64 (aarch64) support to s_lock.h.
commit : 5c7603c318872a42e1665b228f68fdf58714d945
author : Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 15:42:02 -0400
committer: Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 15:42:02 -0400
Use the same gcc atomic functions as we do on newer ARM chips.
(Basically this is a copy and paste of the __arm__ code block,
but omitting the SWPB option since that definitely won't work.)
Back-patch to 9.2. The patch would work further back, but we'd also
need to update config.guess/config.sub in older branches to make them
build out-of-the-box, and there hasn't been demand for it.
Mark Salter
M src/include/storage/s_lock.h
Fix memory leak in LogStandbySnapshot().
commit : dbc6eb1f4b840d252031419d4bf694316812124f
author : Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 14:58:46 -0400
committer: Tom Lane <[email protected]>
date : Tue, 4 Jun 2013 14:58:46 -0400
The array allocated by GetRunningTransactionLocks() needs to be pfree'd
when we're done with it. Otherwise we leak some memory during each
checkpoint, if wal_level = hot_standby. This manifests as memory bloat
in the checkpointer process, or in bgwriter in versions before we made
the checkpointer separate.
Reported and fixed by Naoya Anzai. Back-patch to 9.0 where the issue
was introduced.
In passing, improve comments for GetRunningTransactionLocks(), and add
an Assert that we didn't overrun the palloc'd array.
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/lock.c
Fix off-by-one in pg_xlogdump -r option.
commit : 79e15c7d86d3f781cc390a5a04db18254ce97b79
author : Heikki Linnakangas <[email protected]>
date : Tue, 4 Jun 2013 18:51:43 +0300
committer: Heikki Linnakangas <[email protected]>
date : Tue, 4 Jun 2013 18:51:43 +0300
Because of the bug, -r would not accept the rmgr with the highest ID.
M contrib/pg_xlogdump/pg_xlogdump.c
Add semicolons to eval'd strings to hide a minor Perl behavioral change.
commit : 035a5e1e8c346efe25df6be4627b5f24cc3736b1
author : Tom Lane <[email protected]>
date : Mon, 3 Jun 2013 14:19:26 -0400
committer: Tom Lane <[email protected]>
date : Mon, 3 Jun 2013 14:19:26 -0400
"eval q{foo}" used to complain that the error was on line 2 of the eval'd
string, because eval internally tacked on "\n;" so that the end of the
erroneous command was indeed on line 2. But as of Perl 5.18 it more
sanely says that the error is on line 1. To avoid Perl-version-dependent
regression test results, use "eval q{foo;}" instead in the two places
where this matters. Per buildfarm.
Since people might try to use newer Perl versions with older PG releases,
back-patch as far as 9.0 where these test cases were added.
M src/pl/plperl/expected/plperl.out
M src/pl/plperl/expected/plperl_init.out
M src/pl/plperl/sql/plperl.sql
M src/pl/plperl/sql/plperl_init.sql
Put back allow_system_table_mods check in heap_create().
commit : 15386281a62071f322155b74cb32c2fea92e8350
author : Heikki Linnakangas <[email protected]>
date : Mon, 3 Jun 2013 17:22:31 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 3 Jun 2013 17:22:31 +0300
This reverts commit a475c6036752c26dca538632b68fd2cc592976b7.
Erik Rijkers reported back in January 2013 that after the patch, if you do
"pg_dump -t myschema.mytable" to dump a single table, and restore that in
a database where myschema does not exist, the table is silently created in
pg_catalog instead. That is because pg_dump uses
"SET search_path=myschema, pg_catalog" to set schema the table is created
in. While allow_system_table_mods is not a very elegant solution to this,
we can't leave it as it is, so for now, revert it back to the way it was
previously.
M src/backend/bootstrap/bootparse.y
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/include/catalog/heap.h
Additional spelling corrections
commit : f129615fe72f70868a86862b663dd7d78dd5cb71
author : Stephen Frost <[email protected]>
date : Mon, 3 Jun 2013 08:40:27 -0400
committer: Stephen Frost <[email protected]>
date : Mon, 3 Jun 2013 08:40:27 -0400
A few more minor spelling corrections, no functional changes.
Thom Brown
M src/backend/access/hash/README
M src/backend/access/nbtree/README
M src/backend/utils/adt/windowfuncs.c
M src/interfaces/libpq/fe-exec.c
Code review of recycling WAL segments in a restartpoint.
commit : e1e2bb34f1237cbec396bcaa795f0fa955af0e72
author : Heikki Linnakangas <[email protected]>
date : Mon, 3 Jun 2013 09:25:12 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 3 Jun 2013 09:25:12 +0300
Seems cleaner to get the currently-replayed TLI in the same call to
GetXLogReplayRecPtr that we get the WAL position. Make it more clear in the
comment what the code does when recovery has already ended
(RecoveryInProgress() will set ThisTimeLineID in that case). Finally, make
resetting ThisTimeLineID afterwards more explicit.
M src/backend/access/transam/xlog.c
Allow type_func_name_keywords in some places where they weren't before.
commit : 2c92edad48796119c83d7dbe6c33425d1924626d
author : Tom Lane <[email protected]>
date : Sun, 2 Jun 2013 20:09:20 -0400
committer: Tom Lane <[email protected]>
date : Sun, 2 Jun 2013 20:09:20 -0400
This change makes type_func_name_keywords less reserved than they were
before, by allowing them for role names, language names, EXPLAIN and COPY
options, and SET values for GUCs; which are all places where few if any
actual keywords could appear instead, so no new ambiguities are introduced.
The main driver for this change is to allow "COPY ... (FORMAT BINARY)"
to work without quoting the word "binary". That is an inconsistency that
has been complained of repeatedly over the years (at least by Pavel Golub,
Kurt Lidl, and Simon Riggs); but we hadn't thought of any non-ugly solution
until now.
Back-patch to 9.0 where the COPY (FORMAT BINARY) syntax was introduced.
M src/backend/parser/gram.y
Another man page whitespace fix
commit : 22b36412c73fdae960cc6bef58eb16a26d14b700
author : Peter Eisentraut <[email protected]>
date : Sat, 1 Jun 2013 22:22:02 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 1 Jun 2013 22:22:02 -0400
M doc/src/sgml/ref/select.sgml
Fix whitespace issues in the man pages
commit : 93874ce064836e45220978e2656cbf62eba766ed
author : Peter Eisentraut <[email protected]>
date : Sat, 1 Jun 2013 22:03:02 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 1 Jun 2013 22:03:02 -0400
See 00b0c73f1f2b98a7d09de63aaa14d6498ac521ae for an explanation.
M doc/src/sgml/ref/alter_view.sgml
M doc/src/sgml/ref/create_event_trigger.sgml
M doc/src/sgml/ref/create_view.sgml
M doc/src/sgml/ref/refresh_materialized_view.sgml
M doc/src/sgml/ref/select.sgml
Fix unportable usage of isspace().
commit : a149d8bd56edc2f06643118ed8aac8bce6ebad6d
author : Tom Lane <[email protected]>
date : Sat, 1 Jun 2013 13:58:23 -0400
committer: Tom Lane <[email protected]>
date : Sat, 1 Jun 2013 13:58:23 -0400
Must cast char argument to unsigned to avoid doing the wrong thing
with high-bit-set characters. Oversight in commit
30b5ede7157e34e77c7914b8ecfd55aa8da6edc3.
M src/bin/pg_basebackup/pg_basebackup.c
Minor spelling fixes
commit : c9fc28a7f12e27d530e2657c9dc6080fbfbe8a14
author : Stephen Frost <[email protected]>
date : Sat, 1 Jun 2013 10:18:59 -0400
committer: Stephen Frost <[email protected]>
date : Sat, 1 Jun 2013 10:18:59 -0400
Fix a few spelling mistakes.
Per bug report #8193 from Lajos Veres.
M contrib/pg_upgrade/relfilenode.c
M src/backend/access/transam/xlogreader.c
M src/backend/utils/adt/tsrank.c
M src/tools/pgindent/typedefs.list
Post-pgindent cleanup
commit : 551938ae2284975b53d665fa8a82a7e1f3514dda
author : Stephen Frost <[email protected]>
date : Sat, 1 Jun 2013 09:38:15 -0400
committer: Stephen Frost <[email protected]>
date : Sat, 1 Jun 2013 09:38:15 -0400
Make slightly better decisions about indentation than what pgindent
is capable of. Mostly breaking out long function calls into one
line per argument, with a few other minor adjustments.
No functional changes- all whitespace.
pgindent ran cleanly (didn't change anything) after.
Passes all regressions.
M contrib/hstore/hstore_io.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/relfilenode.c
M contrib/pgbench/pgbench.c
M src/backend/access/gist/gistbuild.c
M src/backend/access/heap/heapam.c
M src/backend/access/transam/multixact.c
M src/backend/access/transam/xlog.c
M src/backend/commands/event_trigger.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/interfaces/ecpg/pgtypeslib/timestamp.c
doc: Remove paragraph about typesetting conventions
commit : dedf7e9919a2dc42370c0b218728e1556985de6a
author : Peter Eisentraut <[email protected]>
date : Fri, 31 May 2013 22:42:27 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 31 May 2013 22:42:27 -0400
They no longer match reality with the web site style sheets, and it is
difficult to keep the up to date in a CSS world.
M doc/src/sgml/notation.sgml
Don't emit non-canonical empty arrays in array_remove().
commit : 97c4d9b7c71519d9dc281394af2c4bcb28bdf136
author : Noah Misch <[email protected]>
date : Fri, 31 May 2013 21:50:59 -0400
committer: Noah Misch <[email protected]>
date : Fri, 31 May 2013 21:50:59 -0400
Dean Rasheed
M src/backend/utils/adt/arrayfuncs.c
M src/test/regress/expected/arrays.out
M src/test/regress/sql/arrays.sql
Add new source files to nls.mk
commit : 01497e738e58b0a5d87706353f28eccc5bea9591
author : Peter Eisentraut <[email protected]>
date : Fri, 31 May 2013 20:03:39 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 31 May 2013 20:03:39 -0400
M src/bin/pg_dump/nls.mk
M src/bin/scripts/nls.mk
doc: Fix claim that query is passed as ASCII text
commit : eff8055afb7c89c2d2629d35b074ca617a3c2310
author : Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 21:09:27 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 21:09:27 -0400
Ian Lawrence Barwick
M doc/src/sgml/arch-dev.sgml
Remove whitespace from end of lines
commit : 8b5a3998a104ef5918b50e207be0aa86e085d49d
author : Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 21:05:07 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 21:05:07 -0400
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/notify.sgml
M doc/src/sgml/ref/pg_dump.sgml
M src/Makefile.global.in
M src/backend/catalog/system_views.sql
M src/test/regress/expected/json.out
M src/test/regress/sql/json.sql
M src/tools/msvc/Mkvcbuild.pm
M src/tools/pgindent/perltidyrc
M src/tools/pgindent/pgindent
M src/tools/pgindent/pgindent.man
Minor spell checking
commit : d7eb6f46de900f6664918cda3b5e6f922a0a2356
author : Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 20:56:58 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 30 May 2013 20:56:58 -0400
M src/backend/replication/walreceiver.c
postgresql.conf.sample: Improve whitespace
commit : 97a11fd0e3055ab82d562930b38027b054e6c8e0
author : Peter Eisentraut <[email protected]>
date : Wed, 29 May 2013 22:00:13 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 29 May 2013 22:00:13 -0400
M src/backend/utils/misc/postgresql.conf.sample
pgindent run for release 9.3 This is the first run of the Perl-based pgindent script. Also update pgindent instructions.
commit : 9af4159fce6654aa0e081b00d02bca40b978745c
author : Bruce Momjian <[email protected]>
date : Wed, 29 May 2013 16:58:43 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 29 May 2013 16:58:43 -0400
M contrib/btree_gist/btree_bit.c
M contrib/btree_gist/btree_text.c
M contrib/btree_gist/btree_ts.c
M contrib/btree_gist/btree_utils_num.c
M contrib/btree_gist/btree_utils_var.c
M contrib/dblink/dblink.c
M contrib/file_fdw/file_fdw.c
M contrib/hstore/hstore_io.c
M contrib/oid2name/oid2name.c
M contrib/pg_archivecleanup/pg_archivecleanup.c
M contrib/pg_standby/pg_standby.c
M contrib/pg_test_timing/pg_test_timing.c
M contrib/pg_trgm/trgm_op.c
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/page.c
M contrib/pg_upgrade/parallel.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M contrib/pg_upgrade/server.c
M contrib/pg_upgrade/tablespace.c
M contrib/pg_upgrade/util.c
M contrib/pg_xlogdump/compat.c
M contrib/pg_xlogdump/pg_xlogdump.c
M contrib/pg_xlogdump/rmgrdesc.c
M contrib/pg_xlogdump/rmgrdesc.h
M contrib/pgbench/pgbench.c
M contrib/pgcrypto/imath.h
M contrib/pgcrypto/pgp.h
M contrib/pgrowlocks/pgrowlocks.c
M contrib/pgstattuple/pgstatindex.c
M contrib/postgres_fdw/connection.c
M contrib/postgres_fdw/postgres_fdw.c
M contrib/postgres_fdw/postgres_fdw.h
M contrib/sepgsql/hooks.c
M contrib/sepgsql/label.c
M contrib/sepgsql/proc.c
M contrib/sepgsql/relation.c
M contrib/sepgsql/schema.c
M contrib/unaccent/unaccent.c
M contrib/vacuumlo/vacuumlo.c
M contrib/worker_spi/worker_spi.c
M src/backend/access/gin/ginbtree.c
M src/backend/access/gist/gistbuild.c
M src/backend/access/gist/gistget.c
M src/backend/access/gist/gistutil.c
M src/backend/access/gist/gistxlog.c
M src/backend/access/hash/hashinsert.c
M src/backend/access/hash/hashsearch.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/rewriteheap.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/rmgrdesc/clogdesc.c
M src/backend/access/rmgrdesc/dbasedesc.c
M src/backend/access/rmgrdesc/gindesc.c
M src/backend/access/rmgrdesc/gistdesc.c
M src/backend/access/rmgrdesc/hashdesc.c
M src/backend/access/rmgrdesc/heapdesc.c
M src/backend/access/rmgrdesc/mxactdesc.c
M src/backend/access/rmgrdesc/nbtdesc.c
M src/backend/access/rmgrdesc/relmapdesc.c
M src/backend/access/rmgrdesc/seqdesc.c
M src/backend/access/rmgrdesc/smgrdesc.c
M src/backend/access/rmgrdesc/spgdesc.c
M src/backend/access/rmgrdesc/standbydesc.c
M src/backend/access/rmgrdesc/tblspcdesc.c
M src/backend/access/rmgrdesc/xactdesc.c
M src/backend/access/rmgrdesc/xlogdesc.c
M src/backend/access/spgist/spgtextproc.c
M src/backend/access/transam/multixact.c
M src/backend/access/transam/timeline.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/access/transam/xlogarchive.c
M src/backend/access/transam/xlogfuncs.c
M src/backend/access/transam/xlogreader.c
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/catalog.c
M src/backend/catalog/dependency.c
M src/backend/catalog/heap.c
M src/backend/catalog/namespace.c
M src/backend/catalog/objectaccess.c
M src/backend/catalog/objectaddress.c
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/pg_enum.c
M src/backend/catalog/pg_operator.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/storage.c
M src/backend/commands/aggregatecmds.c
M src/backend/commands/alter.c
M src/backend/commands/async.c
M src/backend/commands/cluster.c
M src/backend/commands/copy.c
M src/backend/commands/createas.c
M src/backend/commands/dbcommands.c
M src/backend/commands/event_trigger.c
M src/backend/commands/explain.c
M src/backend/commands/functioncmds.c
M src/backend/commands/indexcmds.c
M src/backend/commands/matview.c
M src/backend/commands/opclasscmds.c
M src/backend/commands/operatorcmds.c
M src/backend/commands/proclang.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/commands/typecmds.c
M src/backend/commands/user.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/executor/execMain.c
M src/backend/executor/execQual.c
M src/backend/executor/functions.c
M src/backend/executor/nodeLockRows.c
M src/backend/executor/nodeModifyTable.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/spi.c
M src/backend/lib/binaryheap.c
M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/backend/libpq/pqcomm.c
M src/backend/main/main.c
M src/backend/optimizer/geqo/geqo_cx.c
M src/backend/optimizer/geqo/geqo_px.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/util/clauses.c
M src/backend/optimizer/util/pathnode.c
M src/backend/parser/analyze.c
M src/backend/parser/check_keywords.pl
M src/backend/parser/parse_agg.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/parser/parse_utilcmd.c
M src/backend/port/sysv_shmem.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/checkpointer.c
M src/backend/postmaster/fork_process.c
M src/backend/postmaster/pgarch.c
M src/backend/postmaster/pgstat.c
M src/backend/postmaster/postmaster.c
M src/backend/postmaster/syslogger.c
M src/backend/regex/regc_nfa.c
M src/backend/regex/regprefix.c
M src/backend/replication/basebackup.c
M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/syncrep.c
M src/backend/replication/walreceiver.c
M src/backend/replication/walsender.c
M src/backend/rewrite/rewriteDefine.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/buffer/localbuf.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/predicate.c
M src/backend/storage/lmgr/proc.c
M src/backend/storage/lmgr/spin.c
M src/backend/storage/page/bufpage.c
M src/backend/storage/page/checksum.c
M src/backend/storage/smgr/smgr.c
M src/backend/tcop/postgres.c
M src/backend/tcop/pquery.c
M src/backend/tsearch/ts_selfuncs.c
M src/backend/utils/adt/array_typanalyze.c
M src/backend/utils/adt/arrayfuncs.c
M src/backend/utils/adt/date.c
M src/backend/utils/adt/datetime.c
M src/backend/utils/adt/formatting.c
M src/backend/utils/adt/json.c
M src/backend/utils/adt/jsonfuncs.c
M src/backend/utils/adt/misc.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/pg_locale.c
M src/backend/utils/adt/pseudotypes.c
M src/backend/utils/adt/rangetypes.c
M src/backend/utils/adt/rangetypes_gist.c
M src/backend/utils/adt/rangetypes_selfuncs.c
M src/backend/utils/adt/rangetypes_spgist.c
M src/backend/utils/adt/rangetypes_typanalyze.c
M src/backend/utils/adt/regproc.c
M src/backend/utils/adt/ri_triggers.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/adt/timestamp.c
M src/backend/utils/adt/tsquery_rewrite.c
M src/backend/utils/adt/varlena.c
M src/backend/utils/adt/xml.c
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/evtcache.c
M src/backend/utils/cache/plancache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/syscache.c
M src/backend/utils/error/elog.c
M src/backend/utils/hash/dynahash.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/backend/utils/mb/mbutils.c
M src/backend/utils/mb/wchar.c
M src/backend/utils/misc/guc.c
M src/backend/utils/resowner/resowner.c
M src/backend/utils/sort/tuplestore.c
M src/backend/utils/time/tqual.c
M src/bin/initdb/initdb.c
M src/bin/pg_basebackup/pg_basebackup.c
M src/bin/pg_basebackup/pg_receivexlog.c
M src/bin/pg_basebackup/receivelog.c
M src/bin/pg_basebackup/streamutil.c
M src/bin/pg_ctl/pg_ctl.c
M src/bin/pg_dump/parallel.c
M src/bin/pg_dump/parallel.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/bin/pgevent/pgevent.c
M src/bin/psql/command.c
M src/bin/psql/copy.c
M src/bin/psql/create_help.pl
M src/bin/psql/describe.c
M src/bin/psql/print.c
M src/bin/psql/startup.c
M src/bin/psql/tab-complete.c
M src/bin/scripts/pg_isready.c
M src/common/fe_memutils.c
M src/common/relpath.c
M src/include/access/gist.h
M src/include/access/heapam.h
M src/include/access/heapam_xlog.h
M src/include/access/htup_details.h
M src/include/access/multixact.h
M src/include/access/rmgr.h
M src/include/access/sysattr.h
M src/include/access/timeline.h
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/c.h
M src/include/catalog/heap.h
M src/include/catalog/indexing.h
M src/include/catalog/objectaccess.h
M src/include/catalog/objectaddress.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_control.h
M src/include/catalog/pg_enum.h
M src/include/catalog/pg_event_trigger.h
M src/include/catalog/pg_operator.h
M src/include/catalog/pg_proc.h
M src/include/catalog/pg_statistic.h
M src/include/commands/alter.h
M src/include/commands/collationcmds.h
M src/include/commands/comment.h
M src/include/commands/conversioncmds.h
M src/include/commands/copy.h
M src/include/commands/dbcommands.h
M src/include/commands/defrem.h
M src/include/commands/event_trigger.h
M src/include/commands/extension.h
M src/include/commands/matview.h
M src/include/commands/proclang.h
M src/include/commands/schemacmds.h
M src/include/commands/seclabel.h
M src/include/commands/sequence.h
M src/include/commands/tablecmds.h
M src/include/commands/tablespace.h
M src/include/commands/trigger.h
M src/include/commands/typecmds.h
M src/include/commands/user.h
M src/include/commands/view.h
M src/include/common/fe_memutils.h
M src/include/common/relpath.h
M src/include/lib/binaryheap.h
M src/include/libpq/hba.h
M src/include/libpq/libpq.h
M src/include/libpq/pqcomm.h
M src/include/mb/pg_wchar.h
M src/include/miscadmin.h
M src/include/nodes/parsenodes.h
M src/include/nodes/primnodes.h
M src/include/nodes/relation.h
M src/include/optimizer/planner.h
M src/include/parser/parse_node.h
M src/include/parser/parse_relation.h
M src/include/port.h
M src/include/port/win32.h
M src/include/postgres.h
M src/include/postmaster/bgworker.h
M src/include/postmaster/postmaster.h
M src/include/replication/walreceiver.h
M src/include/rewrite/rewriteDefine.h
M src/include/rewrite/rewriteManip.h
M src/include/storage/bufpage.h
M src/include/storage/large_object.h
M src/include/storage/predicate_internals.h
M src/include/storage/relfilenode.h
M src/include/storage/standby.h
M src/include/tcop/utility.h
M src/include/utils/builtins.h
M src/include/utils/elog.h
M src/include/utils/evtcache.h
M src/include/utils/guc_tables.h
M src/include/utils/jsonapi.h
M src/include/utils/palloc.h
M src/include/utils/plancache.h
M src/include/utils/rel.h
M src/include/utils/reltrigger.h
M src/interfaces/ecpg/compatlib/informix.c
M src/interfaces/ecpg/ecpglib/typename.c
M src/interfaces/ecpg/pgtypeslib/datetime.c
M src/interfaces/ecpg/pgtypeslib/interval.c
M src/interfaces/ecpg/pgtypeslib/numeric.c
M src/interfaces/ecpg/pgtypeslib/timestamp.c
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/libpq/fe-auth.c
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-exec.c
M src/interfaces/libpq/fe-print.c
M src/interfaces/libpq/fe-protocol3.c
M src/interfaces/libpq/libpq-events.h
M src/pl/plperl/plperl.c
M src/pl/plperl/plperl.h
M src/pl/plperl/plperl_helpers.h
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpython/plpy_elog.c
M src/pl/plpython/plpy_util.c
M src/port/pgcheckdir.c
M src/port/pqsignal.c
M src/port/sprompt.c
M src/port/wait_error.c
M src/test/isolation/isolationtester.h
M src/timezone/zic.c
M src/tools/copyright.pl
M src/tools/git_changelog
M src/tools/msvc/Install.pm
M src/tools/msvc/MSBuildProject.pm
M src/tools/msvc/Mkvcbuild.pm
M src/tools/msvc/Project.pm
M src/tools/msvc/Solution.pm
M src/tools/msvc/VCBuildProject.pm
M src/tools/msvc/vcregress.pl
M src/tools/pginclude/pgcheckdefines
M src/tools/pgindent/README
M src/tools/pgindent/pgindent
M src/tools/pgindent/typedefs.list
Document auto_explain.log_timing.
commit : 07ab261ef3a9575a4a2bd3045b222d7b3dee2c46
author : Robert Haas <[email protected]>
date : Wed, 29 May 2013 07:11:21 -0400
committer: Robert Haas <[email protected]>
date : Wed, 29 May 2013 07:11:21 -0400
Tomas Vondra
M doc/src/sgml/auto-explain.sgml
pg_upgrade docs: mention need to set parameters for vacuumdb.
commit : f80e55054bb40421ee414558818cf944a6b48b7e
author : Bruce Momjian <[email protected]>
date : Tue, 28 May 2013 22:54:28 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 28 May 2013 22:54:28 -0400
M doc/src/sgml/pgupgrade.sgml
Documentation fix for ALTER TYPE .. RENAME
commit : 05624220c413eba1d7da38586dfb9aa6a8e9623d
author : Stephen Frost <[email protected]>
date : Mon, 27 May 2013 11:12:54 -0400
committer: Stephen Frost <[email protected]>
date : Mon, 27 May 2013 11:12:54 -0400
The documentation for ALTER TYPE .. RENAME claimed to support a
RESTRICT/CASCADE option at the 'type' level, which wasn't implemented
and doesn't make a whole lot of sense to begin with. What is supported,
and previously undocumented, is
ALTER TYPE .. RENAME ATTRIBUTE .. RESTRICT/CASCADE.
I've updated the documentation and back-patched this to 9.1 where it was
first introduced.
M doc/src/sgml/ref/alter_type.sgml
Remove pageinspect--1.0.sql
commit : 230e92c82b9b911ea743dce7ab7a1abcd0250f30
author : Heikki Linnakangas <[email protected]>
date : Fri, 24 May 2013 08:00:34 -0400
committer: Heikki Linnakangas <[email protected]>
date : Fri, 24 May 2013 08:00:34 -0400
We're not installing it anymore.
Michael Paquier
M contrib/pageinspect/Makefile
D contrib/pageinspect/pageinspect–1.0.sql
Fix typo in comment.
commit : 6eb971bd64073d5208ad7c51aa36b75089d55bef
author : Robert Haas <[email protected]>
date : Thu, 23 May 2013 11:34:30 -0400
committer: Robert Haas <[email protected]>
date : Thu, 23 May 2013 11:34:30 -0400
Pavan Deolasee
M src/include/replication/syncrep.h
Print line number correctly in COPY.
commit : e2ef289363f52b9dd5950c88a65803b585d86ad8
author : Heikki Linnakangas <[email protected]>
date : Thu, 23 May 2013 07:49:59 -0400
committer: Heikki Linnakangas <[email protected]>
date : Thu, 23 May 2013 07:49:59 -0400
When COPY uses the multi-insert method to insert a batch of tuples into the
heap at a time, incorrect line number was printed if something went wrong in
inserting the index tuples (primary key failure, for exampl), or processing
after row triggers.
Fixes bug #8173 reported by Lloyd Albin. Backpatch to 9.2, where the multi-
insert code was added.
M src/backend/commands/copy.c
9.3 release notes: improve cached plan mention Per suggestion from Tom Lane.
commit : bc41ef4791eb44709f18c1678957509e23abdf98
author : Bruce Momjian <[email protected]>
date : Tue, 21 May 2013 16:42:24 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 21 May 2013 16:42:24 -0400
M doc/src/sgml/release-9.3.sgml
After fast promotion use CHECKPOINT_FORCE
commit : 22a27ef113d50cad73097c0be247f06d6527363c
author : Simon Riggs <[email protected]>
date : Tue, 21 May 2013 21:27:12 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 21 May 2013 21:27:12 +0100
Not necessary for correctness, just to make
log_checkpoints output look less singular.
Requested by Fujii Masao
M src/backend/access/transam/xlog.c
Maintain ThisTimeLineID correctly in checkpointer
commit : 75a192638f93636a144a02461baae90b9fe98fd7
author : Simon Riggs <[email protected]>
date : Tue, 21 May 2013 21:17:04 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 21 May 2013 21:17:04 +0100
checkpointer needs to reset ThisTimeLineID after
a restartpoint to allow installing/recycling new
WAL files. If recovery has already ended this
would leave ThisTimeLineID set incorrectly and
so we must reset it otherwise later checkpoints
do not have the correct timeline.
Bug report by Heikki Linnakangas.
Further investigation by Heikki and myself.
M src/backend/access/transam/xlog.c
9.3 release notes: fix SGML markup for DROP TABLE IF EXISTS
commit : 8955dac2518b47cf902c22e972426309217c7d8a
author : Bruce Momjian <[email protected]>
date : Tue, 21 May 2013 08:06:32 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 21 May 2013 08:06:32 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release docs: fix DROP TABLE IF EXISTS Patch from Joe Abbate.
commit : efc7952c89f3079c86156fae313255eadcd4a5e7
author : Bruce Momjian <[email protected]>
date : Mon, 20 May 2013 22:38:37 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 20 May 2013 22:38:37 -0400
M doc/src/sgml/release-9.3.sgml
Documentation spell checking and markup improvements
commit : 256f6ba78a379733ff05d3c3d2239ca7fc56fb9e
author : Peter Eisentraut <[email protected]>
date : Mon, 20 May 2013 21:13:13 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 20 May 2013 21:13:13 -0400
M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/fdwhandler.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/gin.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/indexam.sgml
M doc/src/sgml/information_schema.sgml
M doc/src/sgml/install-windows.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/ltree.sgml
M doc/src/sgml/mvcc.sgml
M doc/src/sgml/perform.sgml
M doc/src/sgml/pgtestfsync.sgml
M doc/src/sgml/planstats.sgml
M doc/src/sgml/plperl.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/postgres-fdw.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/ref/copy.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/create_type.sgml
M doc/src/sgml/ref/explain.sgml
M doc/src/sgml/ref/lock.sgml
M doc/src/sgml/ref/pg_basebackup.sgml
M doc/src/sgml/ref/pg_dump.sgml
M doc/src/sgml/regress.sgml
M doc/src/sgml/release-9.3.sgml
M doc/src/sgml/sepgsql.sgml
M doc/src/sgml/wal.sgml
Fix escaping in generated recovery.conf file.
commit : 30b5ede7157e34e77c7914b8ecfd55aa8da6edc3
author : Heikki Linnakangas <[email protected]>
date : Mon, 20 May 2013 19:34:27 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 20 May 2013 19:34:27 +0300
In the primary_conninfo line that "pg_basebackup -R" generates, single
quotes in parameter values need to be escaped into \\'; the libpq parser
requires the quotes to be escaped into \', and recovery.conf parser requires
the \ to be escaped into \\.
Also, don't quote parameter values unnecessarily, to make the connection
string prettier. Most options in a libpq connection string don't need
quoting.
Reported by Hari Babu, closer analysis by Zoltan Boszormenyi, although I
didn't use his patch.
M src/bin/pg_basebackup/pg_basebackup.c
Clarify documentation of EXPLAIN (TIMING OFF) option.
commit : 2af0971f35a4a7b87312b83782d9bb0cc6a40ad0
author : Tom Lane <[email protected]>
date : Sun, 19 May 2013 22:03:32 -0400
committer: Tom Lane <[email protected]>
date : Sun, 19 May 2013 22:03:32 -0400
Clarify that this option doesn't suppress measurement of the statement's
total runtime.
Greg Smith
M doc/src/sgml/ref/explain.sgml
M src/backend/commands/explain.c
Init crash recovery using the latest available TLI
commit : d4337a0dcbd29e5b11c2157f808916de62de05e4
author : Simon Riggs <[email protected]>
date : Sun, 19 May 2013 17:31:07 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 19 May 2013 17:31:07 +0100
This simplifies the handling of crashes after fast promotion and various
minor cases that can exist in short timing windows around that case.
Broad fix to bug reported by Michael Paquier on -hackers,
approach prompted by Heikki Linnakangas
M src/backend/access/transam/xlog.c
Emit msg correctly for timeline-crossing crash
commit : 1781744cfcfeed6e3ad2e4d52dbd475a95be03a0
author : Simon Riggs <[email protected]>
date : Sun, 19 May 2013 17:00:18 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 19 May 2013 17:00:18 +0100
M src/backend/access/transam/xlog.c
Remove single space on end of a line in xlog.c
commit : c94dff4c3c18595a9d6d8a97020145c1155de473
author : Simon Riggs <[email protected]>
date : Sun, 19 May 2013 15:38:47 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 19 May 2013 15:38:47 +0100
Michael Paquier
M src/backend/access/transam/xlog.c
Remove unused regression test files.
commit : d0cab7903bf695bf305bd4c01f99e0e28d233d91
author : Heikki Linnakangas <[email protected]>
date : Sat, 18 May 2013 22:30:20 +0300
committer: Heikki Linnakangas <[email protected]>
date : Sat, 18 May 2013 22:30:20 +0300
euc_* and mule_internal test cases were identical to the ones in
src/test/mb. sql_ascii didn't exist elsewhere, but has been broken since
2001, and doesn't seem very interesting anyway. drop.sql hasn't been used
since 2000, when regress.sh was removed.
D src/test/regress/expected/euc_cn.out
D src/test/regress/expected/euc_jp.out
D src/test/regress/expected/euc_kr.out
D src/test/regress/expected/euc_tw.out
D src/test/regress/expected/mule_internal.out
D src/test/regress/expected/sql_ascii.out
D src/test/regress/sql/drop.sql
D src/test/regress/sql/euc_cn.sql
D src/test/regress/sql/euc_jp.sql
D src/test/regress/sql/euc_kr.sql
D src/test/regress/sql/euc_tw.sql
D src/test/regress/sql/mule_internal.sql
D src/test/regress/sql/sql_ascii.sql
release docs: mention PL/pgSQL as supporting event triggers in PG 9.3
commit : f472012a3257d022dd36c6b5e30ad8d223d0ccea
author : Bruce Momjian <[email protected]>
date : Sat, 18 May 2013 11:01:55 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 18 May 2013 11:01:55 -0400
M doc/src/sgml/release-9.3.sgml
Fix crash when trying to display a NOTIFY rule action.
commit : 403bd6a18b8ec5aeee51c08360441c3c3c239d8f
author : Tom Lane <[email protected]>
date : Thu, 16 May 2013 16:47:26 -0400
committer: Tom Lane <[email protected]>
date : Thu, 16 May 2013 16:47:26 -0400
Fixes oversight in commit 2ffa740be9d96a3743ecb7e42391c53d0760c65a.
Per report from Josh Kupershmidt.
I think we've broken this case before, so let's add a regression test
this time.
M src/backend/utils/adt/ruleutils.c
M src/test/regress/expected/rules.out
M src/test/regress/sql/rules.sql
Fix fd.c to preserve errno where needed.
commit : 6563fb2b45146852601e63828308fe04fb03b9e9
author : Tom Lane <[email protected]>
date : Thu, 16 May 2013 15:04:31 -0400
committer: Tom Lane <[email protected]>
date : Thu, 16 May 2013 15:04:31 -0400
PathNameOpenFile failed to ensure that the correct value of errno was
returned to its caller after a failure (because it incorrectly supposed
that free() can never change errno). In some cases this would result
in a user-visible failure because an expected ENOENT errno was replaced
with something else. Bogus EINVAL failures have been observed on OS X,
for example.
There were also a couple of places that could mangle an important value
of errno if FDDEBUG was defined. While the usefulness of that debug
support is highly debatable, we might as well make it safe to use,
so add errno save/restore logic to the DO_DB macro.
Per bug #8167 from Nelson Minar, diagnosed by RhodiumToad.
Back-patch to all supported branches.
M src/backend/storage/file/fd.c
Fix some uses of "the quick brown fox".
commit : e7bfc7e42cebf80507f9c9965dc4a572e9fb76a4
author : Tom Lane <[email protected]>
date : Thu, 16 May 2013 12:30:41 -0400
committer: Tom Lane <[email protected]>
date : Thu, 16 May 2013 12:30:41 -0400
If we're going to quote a well-known pangram, we should quote it
accurately. Per gripe from Thom Brown.
M doc/src/sgml/func.sgml
M src/test/regress/expected/strings.out
M src/test/regress/sql/strings.sql
Allow CREATE FOREIGN TABLE to include SERIAL columns.
commit : b14206862278347a379f2bb72d92d16fb9dcea45
author : Tom Lane <[email protected]>
date : Wed, 15 May 2013 19:03:29 -0400
committer: Tom Lane <[email protected]>
date : Wed, 15 May 2013 19:03:29 -0400
The behavior is that the required sequence is created locally, which is
appropriate because the default expression will be evaluated locally.
Per gripe from Brad Nicholson that this case was refused with a confusing
error message. We could have improved the error message but it seems
better to just allow the case.
Also, remove ALTER TABLE's arbitrary prohibition against being applied to
foreign tables, which was pretty inconsistent considering we allow it for
views, sequences, and other relation types that aren't even called tables.
This is needed to avoid breaking pg_dump, which sometimes emits column
defaults using separate ALTER TABLE commands. (I think this can happen
even when the default is not associated with a sequence, so that was a
pre-existing bug once we allowed column defaults for foreign tables.)
M contrib/postgres_fdw/expected/postgres_fdw.out
M contrib/postgres_fdw/sql/postgres_fdw.sql
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
doc: Add \dm command to psql man page
commit : a2a480af889b5d9abce4181e49b6398f0e24b808
author : Peter Eisentraut <[email protected]>
date : Tue, 14 May 2013 21:12:34 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 14 May 2013 21:12:34 -0400
M doc/src/sgml/ref/psql-ref.sgml
doc: Fix some whitespace issues in the man pages
commit : a9bb274f902987b271e2f0dd844fb610de4f024b
author : Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:59:39 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:59:39 -0400
M doc/src/sgml/pgbench.sgml
M doc/src/sgml/ref/pg_dump.sgml
M doc/src/sgml/ref/pg_isready.sgml
pg_upgrade: Replace tabs in output string constants by spaces
commit : d2b920cded4db973a7b69a628e109f2aee63012a
author : Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:42:19 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:42:19 -0400
M contrib/pg_upgrade/function.c
doc: Fix order of options on pgbench man page
commit : bd1710248795a495547a96f16d16592ad45f6943
author : Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:37:01 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 13 May 2013 21:37:01 -0400
M doc/src/sgml/pgbench.sgml
Fix handling of OID wraparound while in standalone mode.
commit : e9c336c78638c191642b18628c306d1c1573fb12
author : Tom Lane <[email protected]>
date : Mon, 13 May 2013 15:40:16 -0400
committer: Tom Lane <[email protected]>
date : Mon, 13 May 2013 15:40:16 -0400
If OID wraparound should occur while in standalone mode (unlikely but
possible), we want to advance the counter to FirstNormalObjectId not
FirstBootstrapObjectId. Otherwise, user objects might be created with OIDs
in the system-reserved range. That isn't immediately harmful but it poses
a risk of conflicts during future pg_upgrade operations.
Noted by Andres Freund. Back-patch to all supported branches, since all of
them are supported sources for pg_upgrade operations.
M src/backend/access/transam/varsup.c
Fix handling of strict non-set functions with NULLs in set-valued inputs.
commit : 904af8db8a99409257db1eed0b056c8098e9013c
author : Tom Lane <[email protected]>
date : Sun, 12 May 2013 13:08:12 -0400
committer: Tom Lane <[email protected]>
date : Sun, 12 May 2013 13:08:12 -0400
In a construct like "select plain_function(set_returning_function(...))",
the plain function is applied to each output row of the SRF successively.
If some of the SRF outputs are NULL, and the plain function is strict,
you'd expect to get NULL results for such rows ... but what actually
happened was that such rows were omitted entirely from the result set.
This was due to confusion of this case with what should happen for nested
set-returning functions; a strict SRF is indeed supposed to yield an empty
set for null input. Per bug #8150 from Erwin Brandstetter.
Although this has been broken forever, we're not back-patching because
of the possibility that some apps out there expect the incorrect behavior.
This change should be listed as a possible incompatibility in the 9.3
release notes.
M src/backend/executor/execQual.c
M src/test/regress/expected/arrays.out
M src/test/regress/sql/arrays.sql
pgbench: Fix order of options in --help output
commit : f0ed3a8a99b052d2d5e0b6153a8907b90c486636
author : Peter Eisentraut <[email protected]>
date : Sat, 11 May 2013 21:57:54 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 11 May 2013 21:57:54 -0400
M contrib/pgbench/pgbench.c
pg_xlogdump: Improve --help output
commit : a4fd3366a6555a065f1be9f127110c9f642323b9
author : Peter Eisentraut <[email protected]>
date : Sat, 11 May 2013 21:55:37 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 11 May 2013 21:55:37 -0400
M contrib/pg_xlogdump/pg_xlogdump.c
Fix to_number() to correctly ignore thousands separator when it's '.'.
commit : 35d50b527a9f99e22a317269ceb00491397d0e00
author : Tom Lane <[email protected]>
date : Sat, 11 May 2013 16:35:03 -0400
committer: Tom Lane <[email protected]>
date : Sat, 11 May 2013 16:35:03 -0400
The existing code in NUM_numpart_from_char has hard-wired logic to treat
'.' as decimal point, even when we're using a locale-aware format string
and the locale says that '.' is the thousands separator. This results in
clearly wrong answers in FM mode (where we must be able to identify the
decimal point location), as per bug report from Patryk Kordylewski.
Since the initialization code in NUM_prepare_locale already sets up
Np->decimal as either the locale decimal-point string or "." depending
on which decimal-point format code was used, there's really no need to
have any extra logic at all in NUM_numpart_from_char: we only need to
test for a match to Np->decimal.
(Note: AFAICS there's nothing in here that explicitly checks for thousands
separators --- rather, any unmatched character is silently skipped over.
That's pretty bogus IMO but it's not the issue being complained of.)
This is a longstanding bug, but it's possible that some existing apps
are depending on '.' being recognized as decimal point even when using
a D format code. Hence, no back-patch. We should probably list this
as a potential incompatibility in the 9.3 release notes.
M src/backend/utils/adt/formatting.c
Fix buildfarm incompatibility in updated pg_upgrade test script.
commit : 8cade04c105f2d31c941bee9716a304f93a41351
author : Tom Lane <[email protected]>
date : Sat, 11 May 2013 16:14:19 -0400
committer: Tom Lane <[email protected]>
date : Sat, 11 May 2013 16:14:19 -0400
Looks like some versions of the buildfarm script try to set the port via
--port in $EXTRA_REGRESS_OPTS. Override that ...
M contrib/pg_upgrade/test.sh
Make pg_upgrade's test script attempt to select a non-conflicting port.
commit : 7e2b1c03ce24e8fefa2080c0f1f8cfbb86ce664e
author : Tom Lane <[email protected]>
date : Sat, 11 May 2013 14:22:18 -0400
committer: Tom Lane <[email protected]>
date : Sat, 11 May 2013 14:22:18 -0400
Previously, the port number used in this test script was hard-wired at
pg_upgrade's default of 50432; which is not so great because parallel build
runs might conflict. Commit 3d53173e20d151341f894f79d556768c845ba3e4
removed this setting for the postmasters started by the script proper
(not by pg_upgrade), which didn't do anything to fix that problem and also
guaranteed a failure if there was a live postmaster at the build's default
port number. Instead, select a non-conflicting temporary port number in
the same way that pg_regress.c does. (Its method isn't entirely
bulletproof, but given the lack of complaints I'm not going to worry
about that today.)
In passing, unset MAKEFLAGS and MAKELEVEL to avoid problems with the
script's internal invocations of make, for the same reason pg_regress.c
does: it could cause problems in a parallel make.
M contrib/pg_upgrade/test.sh
Update CREATE FUNCTION documentation about argument names.
commit : c263f16a20a12ee63bbf0c4769d87db3184709eb
author : Tom Lane <[email protected]>
date : Sat, 11 May 2013 12:07:47 -0400
committer: Tom Lane <[email protected]>
date : Sat, 11 May 2013 12:07:47 -0400
The 9.2 patch that added argument name support in SQL-language functions
missed updating a parenthetical comment about that in the CREATE FUNCTION
reference page. Noted by Erwin Brandstetter.
M doc/src/sgml/ref/create_function.sgml
Guard against input_rows == 0 in estimate_num_groups().
commit : 69cc60dcfd0fb643cd2fe3ce66d4389858bfdeb5
author : Tom Lane <[email protected]>
date : Fri, 10 May 2013 17:15:30 -0400
committer: Tom Lane <[email protected]>
date : Fri, 10 May 2013 17:15:30 -0400
This case doesn't normally happen, because the planner usually clamps
all row estimates to at least one row; but I found that it can arise
when dealing with relations excluded by constraints. Without a defense,
estimate_num_groups() can return zero, which leads to divisions by zero
inside the planner as well as assertion failures in the executor.
An alternative fix would be to change set_dummy_rel_pathlist() to make
the size estimate for a dummy relation 1 row instead of 0, but that seemed
pretty ugly; and probably someday we'll want to drop the convention that
the minimum rowcount estimate is 1 row.
Back-patch to 8.4, as the problem can be demonstrated that far back.
M src/backend/utils/adt/selfuncs.c
Fix pgp_pub_decrypt() so it works for secret keys with passwords.
commit : 477b5a0e24f3b62a470f9684e22e36a2c7735274
author : Tom Lane <[email protected]>
date : Fri, 10 May 2013 13:06:48 -0400
committer: Tom Lane <[email protected]>
date : Fri, 10 May 2013 13:06:48 -0400
Per report from Keith Fiske.
Marko Kreen
M contrib/pgcrypto/expected/pgp-pubkey-decrypt.out
M contrib/pgcrypto/pgp-pubkey.c
M contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql
Fix management of fn_extra caching during repeated GiST index scans.
commit : 91715e82932665c6e125d100eeaa1b6debf73e7b
author : Tom Lane <[email protected]>
date : Thu, 9 May 2013 23:08:19 -0400
committer: Tom Lane <[email protected]>
date : Thu, 9 May 2013 23:08:19 -0400
Commit d22a09dc70f9830fa78c1cd1a3a453e4e473d354 introduced official support
for GiST consistentFns that want to cache data using the FmgrInfo fn_extra
pointer: the idea was to preserve the cached values across gistrescan(),
whereas formerly they'd been leaked. However, there was an oversight in
that, namely that multiple scan keys might reference the same column's
consistentFn; the code would result in propagating the same cache value
into multiple scan keys, resulting in crashes or wrong answers. Use a
separate array instead to ensure that each scan key keeps its own state.
Per bug #8143 from Joel Roller. Back-patch to 9.2 where the bug was
introduced.
M src/backend/access/gist/gistscan.c
Update key words table for 9.3
commit : cda7acee5f30bfdca6cfaeacfc4fb695f8c8d5d8
author : Peter Eisentraut <[email protected]>
date : Thu, 9 May 2013 22:26:04 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 9 May 2013 22:26:04 -0400
M doc/src/sgml/keywords.sgml
Remove make_keywords
commit : bd98852cbd19083ea46a90056666e087f1bb0d67
author : Peter Eisentraut <[email protected]>
date : Thu, 9 May 2013 22:21:43 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 9 May 2013 22:21:43 -0400
It is not used anymore.
D src/tools/make_keywords
Use pg_dump's --quote-all-identifiers option in pg_upgrade.
commit : 1c36700e9e3cfb96fde636def87cafb57299f4da
author : Tom Lane <[email protected]>
date : Thu, 9 May 2013 17:34:34 -0400
committer: Tom Lane <[email protected]>
date : Thu, 9 May 2013 17:34:34 -0400
This helps guard against changes in the set of reserved keywords from
one version to another. In theory it should only be an issue if we
de-reserve a keyword in a newer release, since that can create the type
of problem shown in bug #8128.
Back-patch to 9.1 where the --quote-all-identifiers option was added.
M contrib/pg_upgrade/dump.c
pg_upgrade docs: give tips on automation
commit : df9d764186cf6082376e25fe04050ad39462312d
author : Bruce Momjian <[email protected]>
date : Thu, 9 May 2013 16:05:26 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 9 May 2013 16:05:26 -0400
Document that post-upgrade steps are likely to be the same for all
clusters with the same DDL/schemas; this should help automated
upgrades.
M doc/src/sgml/pgupgrade.sgml
Update collate.linux.utf8.out for ruleutils.c line-wrapping changes.
commit : 284e28f2280a8f69014df689ae5e2843eebd7c59
author : Tom Lane <[email protected]>
date : Wed, 8 May 2013 22:47:33 -0400
committer: Tom Lane <[email protected]>
date : Wed, 8 May 2013 22:47:33 -0400
Missed in commit 62e666400dddf605b9b6d9a7ac2918711b5c5629.
M src/test/regress/expected/collate.linux.utf8.out
Better fix for permissions tests in excluded subqueries.
commit : a7b965382cf0cb30aeacb112572718045e6d4be7
author : Tom Lane <[email protected]>
date : Wed, 8 May 2013 16:59:09 -0400
committer: Tom Lane <[email protected]>
date : Wed, 8 May 2013 16:59:09 -0400
This reverts the code changes in 50c137487c96e629e0e5372bb3d1b5f1a2f71a88,
which turned out to induce crashes and not completely fix the problem
anyway. That commit only considered single subqueries that were excluded
by constraint-exclusion logic, but actually the problem also exists for
subqueries that are appendrel members (ie part of a UNION ALL list). In
such cases we can't add a dummy subpath to the appendrel's AppendPath list
without defeating the logic that recognizes when an appendrel is completely
excluded. Instead, fix the problem by having setrefs.c scan the rangetable
an extra time looking for subqueries that didn't get into the plan tree.
(This approach depends on the 9.2 change that made set_subquery_pathlist
generate dummy paths for excluded single subqueries, so that the exclusion
behavior is the same for single subqueries and appendrel members.)
Note: it turns out that the appendrel form of the missed-permissions-checks
bug exists as far back as 8.4. However, since the practical effect of that
bug seems pretty minimal, consensus is to not attempt to fix it in the back
branches, at least not yet. Possibly we could back-port this patch once
it's gotten a reasonable amount of testing in HEAD. For the moment I'm
just going to revert the previous patch in 9.2.
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/setrefs.c
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql
The data structure used in unaccent is a trie, not suffix tree.
commit : 4b06c1820a1b96769ea7447a0fc8e0edabbf57f5
author : Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 20:57:42 +0300
committer: Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 20:57:42 +0300
Fix the term used in variable and struct names, and comments.
Alexander Korotkov
M contrib/unaccent/unaccent.c
Fix walsender failure at promotion.
commit : 2ffa66f4975c99e52984f7ee81b47d137b5b4751
author : Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 20:10:17 +0300
committer: Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 20:10:17 +0300
If a standby server has a cascading standby server connected to it, it's
possible that WAL has already been sent up to the next WAL page boundary,
splitting a WAL record in the middle, when the first standby server is
promoted. Don't throw an assertion failure or error in walsender if that
happens.
Also, fix a variant of the same bug in pg_receivexlog: if it had already
received WAL on previous timeline up to a segment boundary, when the
upstream standby server is promoted so that the timeline switch record falls
on the previous segment, pg_receivexlog would miss the segment containing
the timeline switch. To fix that, have walsender send the position of the
timeline switch at end-of-streaming, in addition to the next timeline's ID.
It was previously assumed that the switch happened exactly where the
streaming stopped.
Note: this is an incompatible change in the streaming protocol. You might
get an error if you try to stream over timeline switches, if the client is
running 9.3beta1 and the server is more recent. It should be fine after a
reconnect, however.
Reported by Fujii Masao.
M doc/src/sgml/protocol.sgml
M src/backend/access/transam/xlog.c
M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/walreceiverfuncs.c
M src/backend/replication/walsender.c
M src/bin/pg_basebackup/pg_receivexlog.c
M src/bin/pg_basebackup/receivelog.c
Use the term "radix tree" instead of "suffix tree" for SP-GiST text opclass.
commit : cb953d8b1bf7386ff20300cd80b29b7e8657dcbd
author : Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 14:29:28 +0300
committer: Heikki Linnakangas <[email protected]>
date : Wed, 8 May 2013 14:29:28 +0300
What we have implemented is a radix tree (or a radix trie or a patricia
trie), but the docs and code comments incorrectly called it a "suffix tree".
Alexander Korotkov
M doc/src/sgml/indices.sgml
M doc/src/sgml/spgist.sgml
M src/backend/access/spgist/README
M src/backend/access/spgist/spgtextproc.c
M src/include/catalog/pg_proc.h
M src/test/regress/expected/create_index.out
M src/test/regress/expected/sanity_check.out
M src/test/regress/output/misc.source
M src/test/regress/sql/create_index.sql
doc: Add IDs to link targets used by phpPgAdmin
commit : 20c00ca668f2c5ca4e7e7afd1bd8faa0909ee527
author : Peter Eisentraut <[email protected]>
date : Tue, 7 May 2013 21:23:21 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 7 May 2013 21:23:21 -0400
Karl O. Pinc
M doc/src/sgml/ddl.sgml
M doc/src/sgml/extend.sgml
Stress that backup_label file is critical in the docs.
commit : 7f03a791fa131eb20c6df07740522163d8b3c94e
author : Heikki Linnakangas <[email protected]>
date : Tue, 7 May 2013 16:55:04 +0300
committer: Heikki Linnakangas <[email protected]>
date : Tue, 7 May 2013 16:55:04 +0300
It is surprisingly common mistake to leave out backup_label file from a base
backup. Say more explicitly that it must be included.
Jeff Janes, with minor rewording by me.
M doc/src/sgml/backup.sgml
Stamp 9.3beta1.
commit : 817a89423f429a6a8b36847ee499f5b6be39c3be
author : Tom Lane <[email protected]>
date : Mon, 6 May 2013 16:57:06 -0400
committer: Tom Lane <[email protected]>
date : Mon, 6 May 2013 16:57:06 -0400
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
Desultory copy-editing of the 9.3 release notes.
commit : f1ff90cfb1c5168cd442593de62b419ac9ab6469
author : Tom Lane <[email protected]>
date : Mon, 6 May 2013 16:02:37 -0400
committer: Tom Lane <[email protected]>
date : Mon, 6 May 2013 16:02:37 -0400
I had time for a quick review of the notes, so here are some fixes.
M doc/src/sgml/release-9.3.sgml
Move materialized views' is-populated status into their pg_class entries.
commit : 1d6c72a55b23554cfb946527dc77f9d80044ae2c
author : Tom Lane <[email protected]>
date : Mon, 6 May 2013 13:26:51 -0400
committer: Tom Lane <[email protected]>
date : Mon, 6 May 2013 13:26:51 -0400
Previously this state was represented by whether the view's disk file had
zero or nonzero size, which is problematic for numerous reasons, since it's
breaking a fundamental assumption about heap storage. This was done to
allow unlogged matviews to revert to unpopulated status after a crash
despite our lack of any ability to update catalog entries post-crash.
However, this poses enough risk of future problems that it seems better to
not support unlogged matviews until we can find another way. Accordingly,
revert that choice as well as a number of existing kluges forced by it
in favor of creating a pg_class.relispopulated flag column.
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/func.sgml
M src/backend/catalog/heap.c
M src/backend/catalog/system_views.sql
M src/backend/commands/cluster.c
M src/backend/commands/createas.c
M src/backend/commands/matview.c
M src/backend/commands/vacuumlazy.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/cache/relcache.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/include/catalog/catversion.h
M src/include/catalog/heap.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_proc.h
M src/include/commands/matview.h
M src/include/utils/builtins.h
M src/include/utils/rel.h
M src/test/regress/expected/matview.out
M src/test/regress/expected/rules.out
M src/test/regress/sql/matview.sql
Back out some recent translation updates.
commit : 5da5798004e90b14332918e7db702271442d465d
author : Tom Lane <[email protected]>
date : Mon, 6 May 2013 12:28:13 -0400
committer: Tom Lane <[email protected]>
date : Mon, 6 May 2013 12:28:13 -0400
Very old versions of msgfmt choke on these specific messages, for reasons
that are unclear at the moment. Remove them so that we can ship a beta
release and not get complaints from testers (these messages will just go
untranslated, instead, and we're hardly at 100% coverage anyway).
Peter Eisentraut will look for a better fix later.
M src/backend/po/de.po
M src/bin/pg_basebackup/po/cs.po
Disallow unlogged materialized views.
commit : 3223b25ff737c2bf4a642c0deb7be2b30bfecc6e
author : Tom Lane <[email protected]>
date : Mon, 6 May 2013 11:57:05 -0400
committer: Tom Lane <[email protected]>
date : Mon, 6 May 2013 11:57:05 -0400
The initial implementation of this feature was really unsupportable,
because it's relying on the physical size of an on-disk file to carry the
relation's populated/unpopulated state, which is at least a modularity
violation and could have serious long-term consequences. We could say that
an unlogged matview goes to empty on crash, but not everybody likes that
definition, so let's just remove the feature for 9.3. We can add it back
when we have a less klugy implementation.
I left the grammar and tab-completion support for CREATE UNLOGGED
MATERIALIZED VIEW in place, since it's harmless and allows delivering a
more specific error message about the unsupported feature.
I'm committing this separately to ease identification of what should be
reverted when/if we are able to re-enable the feature.
M doc/src/sgml/ref/create_materialized_view.sgml
M src/backend/parser/analyze.c
M src/test/regress/expected/matview.out
M src/test/regress/sql/matview.sql
9.3 release notes: use "restoration"
commit : c29866073ba3aab67d78c0d19ecdf790f36a8e1a
author : Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:57:23 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:57:23 -0400
Andrew Dunstan
M doc/src/sgml/release-9.3.sgml
9.3 release notes: Add cache of local locks
commit : 2fbffc0ddf1e6c7cd8744d8ae26f7daba902d631
author : Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:56:27 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:56:27 -0400
Mention this also helps in the restoring of pg_dumps.
Jeff Janes
M doc/src/sgml/release-9.3.sgml
9.3 release notes: update from Amit Kapila
commit : c750aa90f2cd411bea9ee3844bb41ff50a0eb436
author : Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:47:10 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 10:47:10 -0400
No need to mention wal_receiver_status_interval.
M doc/src/sgml/release-9.3.sgml
Execute SET TRANSACTION SNAPSHOT during pg_dump Previous coding set the SQL buffer but never executed
commit : b2ad82dafaae29975dd12e8c43cf2edaa0f23f4b
author : Simon Riggs <[email protected]>
date : Mon, 6 May 2013 15:37:17 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 6 May 2013 15:37:17 +0100
Bug noted by me during beta testing
M src/bin/pg_dump/pg_dump.c
Revert idea of zer-padding padding session id in log_line_prefix
commit : 8b06e6aba8773df8040b357a1cb058879ed2d94f
author : Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 08:59:39 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 6 May 2013 08:59:39 -0400
Removal of doc adjustment and release note mention as well.
M doc/src/sgml/config.sgml
M doc/src/sgml/release-9.3.sgml
M src/backend/utils/error/elog.c
Translation updates
commit : 539ecc92415a51bccb0805348a2a414a8e8ab7e7
author : Peter Eisentraut <[email protected]>
date : Sun, 5 May 2013 22:34:23 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 5 May 2013 22:34:23 -0400
M src/backend/nls.mk
M src/backend/po/de.po
M src/backend/po/es.po
M src/backend/po/fr.po
A src/backend/po/it.po
M src/backend/po/ja.po
A src/backend/po/pl.po
M src/backend/po/pt_BR.po
A src/backend/po/ru.po
M src/backend/po/zh_CN.po
M src/backend/po/zh_TW.po
M src/bin/initdb/nls.mk
M src/bin/initdb/po/cs.po
M src/bin/initdb/po/de.po
M src/bin/initdb/po/es.po
M src/bin/initdb/po/fr.po
M src/bin/initdb/po/it.po
M src/bin/initdb/po/ja.po
A src/bin/initdb/po/pl.po
M src/bin/initdb/po/pt_BR.po
M src/bin/initdb/po/ru.po
M src/bin/initdb/po/zh_CN.po
M src/bin/pg_basebackup/nls.mk
A src/bin/pg_basebackup/po/cs.po
M src/bin/pg_basebackup/po/de.po
M src/bin/pg_basebackup/po/es.po
M src/bin/pg_basebackup/po/fr.po
A src/bin/pg_basebackup/po/it.po
M src/bin/pg_basebackup/po/ja.po
A src/bin/pg_basebackup/po/pl.po
A src/bin/pg_basebackup/po/pt_BR.po
A src/bin/pg_basebackup/po/ru.po
A src/bin/pg_basebackup/po/zh_CN.po
M src/bin/pg_config/nls.mk
A src/bin/pg_config/po/cs.po
M src/bin/pg_config/po/de.po
M src/bin/pg_config/po/es.po
M src/bin/pg_config/po/fr.po
M src/bin/pg_config/po/it.po
M src/bin/pg_config/po/ja.po
A src/bin/pg_config/po/pl.po
M src/bin/pg_config/po/pt_BR.po
M src/bin/pg_config/po/ru.po
M src/bin/pg_config/po/zh_CN.po
M src/bin/pg_controldata/nls.mk
A src/bin/pg_controldata/po/cs.po
M src/bin/pg_controldata/po/de.po
M src/bin/pg_controldata/po/es.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_controldata/po/it.po
M src/bin/pg_controldata/po/ja.po
A src/bin/pg_controldata/po/pl.po
M src/bin/pg_controldata/po/pt_BR.po
M src/bin/pg_controldata/po/ru.po
M src/bin/pg_controldata/po/zh_CN.po
M src/bin/pg_ctl/nls.mk
A src/bin/pg_ctl/po/cs.po
M src/bin/pg_ctl/po/de.po
M src/bin/pg_ctl/po/es.po
M src/bin/pg_ctl/po/fr.po
M src/bin/pg_ctl/po/it.po
M src/bin/pg_ctl/po/ja.po
A src/bin/pg_ctl/po/pl.po
M src/bin/pg_ctl/po/pt_BR.po
M src/bin/pg_ctl/po/ru.po
M src/bin/pg_ctl/po/sv.po
M src/bin/pg_ctl/po/zh_CN.po
M src/bin/pg_dump/nls.mk
A src/bin/pg_dump/po/cs.po
M src/bin/pg_dump/po/de.po
M src/bin/pg_dump/po/es.po
M src/bin/pg_dump/po/fr.po
M src/bin/pg_dump/po/it.po
M src/bin/pg_dump/po/ja.po
A src/bin/pg_dump/po/pl.po
M src/bin/pg_dump/po/pt_BR.po
A src/bin/pg_dump/po/ru.po
M src/bin/pg_dump/po/zh_CN.po
M src/bin/pg_resetxlog/nls.mk
A src/bin/pg_resetxlog/po/cs.po
M src/bin/pg_resetxlog/po/de.po
M src/bin/pg_resetxlog/po/es.po
M src/bin/pg_resetxlog/po/fr.po
M src/bin/pg_resetxlog/po/it.po
M src/bin/pg_resetxlog/po/ja.po
A src/bin/pg_resetxlog/po/pl.po
M src/bin/pg_resetxlog/po/pt_BR.po
M src/bin/pg_resetxlog/po/ru.po
M src/bin/pg_resetxlog/po/zh_CN.po
M src/bin/psql/nls.mk
M src/bin/psql/po/cs.po
M src/bin/psql/po/de.po
M src/bin/psql/po/es.po
M src/bin/psql/po/fr.po
A src/bin/psql/po/it.po
M src/bin/psql/po/ja.po
A src/bin/psql/po/pl.po
M src/bin/psql/po/pt_BR.po
A src/bin/psql/po/ru.po
M src/bin/psql/po/zh_CN.po
M src/bin/psql/po/zh_TW.po
M src/bin/scripts/nls.mk
M src/bin/scripts/po/cs.po
M src/bin/scripts/po/de.po
M src/bin/scripts/po/es.po
M src/bin/scripts/po/fr.po
M src/bin/scripts/po/it.po
M src/bin/scripts/po/ja.po
A src/bin/scripts/po/pl.po
M src/bin/scripts/po/pt_BR.po
A src/bin/scripts/po/ru.po
M src/bin/scripts/po/zh_CN.po
M src/interfaces/ecpg/ecpglib/nls.mk
A src/interfaces/ecpg/ecpglib/po/cs.po
M src/interfaces/ecpg/ecpglib/po/de.po
M src/interfaces/ecpg/ecpglib/po/es.po
M src/interfaces/ecpg/ecpglib/po/fr.po
M src/interfaces/ecpg/ecpglib/po/it.po
A src/interfaces/ecpg/ecpglib/po/pl.po
M src/interfaces/ecpg/ecpglib/po/pt_BR.po
A src/interfaces/ecpg/ecpglib/po/ru.po
M src/interfaces/ecpg/ecpglib/po/zh_CN.po
M src/interfaces/ecpg/preproc/nls.mk
A src/interfaces/ecpg/preproc/po/cs.po
M src/interfaces/ecpg/preproc/po/de.po
M src/interfaces/ecpg/preproc/po/es.po
M src/interfaces/ecpg/preproc/po/fr.po
M src/interfaces/ecpg/preproc/po/it.po
A src/interfaces/ecpg/preproc/po/pl.po
M src/interfaces/ecpg/preproc/po/pt_BR.po
A src/interfaces/ecpg/preproc/po/ru.po
M src/interfaces/ecpg/preproc/po/zh_CN.po
M src/interfaces/libpq/nls.mk
M src/interfaces/libpq/po/cs.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/es.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/it.po
M src/interfaces/libpq/po/ja.po
A src/interfaces/libpq/po/pl.po
M src/interfaces/libpq/po/pt_BR.po
M src/interfaces/libpq/po/ru.po
M src/interfaces/libpq/po/tr.po
M src/interfaces/libpq/po/zh_CN.po
M src/interfaces/libpq/po/zh_TW.po
M src/pl/plperl/nls.mk
A src/pl/plperl/po/cs.po
M src/pl/plperl/po/de.po
M src/pl/plperl/po/es.po
M src/pl/plperl/po/fr.po
M src/pl/plperl/po/it.po
M src/pl/plperl/po/ja.po
A src/pl/plperl/po/pl.po
M src/pl/plperl/po/pt_BR.po
M src/pl/plperl/po/ro.po
A src/pl/plperl/po/ru.po
M src/pl/plperl/po/tr.po
M src/pl/plperl/po/zh_CN.po
M src/pl/plpgsql/src/nls.mk
A src/pl/plpgsql/src/po/cs.po
M src/pl/plpgsql/src/po/de.po
M src/pl/plpgsql/src/po/es.po
M src/pl/plpgsql/src/po/fr.po
M src/pl/plpgsql/src/po/it.po
M src/pl/plpgsql/src/po/ja.po
M src/pl/plpgsql/src/po/pl.po
M src/pl/plpgsql/src/po/pt_BR.po
M src/pl/plpgsql/src/po/ro.po
A src/pl/plpgsql/src/po/ru.po
M src/pl/plpgsql/src/po/zh_CN.po
M src/pl/plpython/nls.mk
A src/pl/plpython/po/cs.po
M src/pl/plpython/po/de.po
M src/pl/plpython/po/es.po
M src/pl/plpython/po/fr.po
M src/pl/plpython/po/it.po
M src/pl/plpython/po/ja.po
A src/pl/plpython/po/pl.po
M src/pl/plpython/po/pt_BR.po
M src/pl/plpython/po/ro.po
A src/pl/plpython/po/ru.po
M src/pl/plpython/po/zh_CN.po
M src/pl/tcl/nls.mk
A src/pl/tcl/po/cs.po
M src/pl/tcl/po/de.po
M src/pl/tcl/po/es.po
M src/pl/tcl/po/fr.po
M src/pl/tcl/po/it.po
A src/pl/tcl/po/pl.po
M src/pl/tcl/po/pt_BR.po
A src/pl/tcl/po/ru.po
M src/pl/tcl/po/zh_CN.po
Improve behavior of \watch with non-tuple-returning commands.
commit : 626e6eda4f605788110bfc5fa95760305f7eb749
author : Tom Lane <[email protected]>
date : Sat, 4 May 2013 16:41:22 -0400
committer: Tom Lane <[email protected]>
date : Sat, 4 May 2013 16:41:22 -0400
Print the command tag if we get PGRES_COMMAND_OK, and throw an error for
other cases. Per gripe from Michael Paquier.
In passing, add an fflush(), just to be real sure the output appears
before we sleep.
M src/bin/psql/command.c
docs: Improve log_line_prefix session_id query
commit : 083d8fa79dbd693f48c1c195bf4f2af3d1e7dc67
author : Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 13:23:04 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 13:23:04 -0400
M doc/src/sgml/config.sgml
docs: log_line_prefix session id fix
commit : f87f214b7c09e20d954fae887809c41cc5ca68df
author : Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 13:15:54 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 13:15:54 -0400
Restore 4-byte designation for docs. Fix 9.3 doc query to properly pad
to four digits.
Backpatch to all active branches
Per suggestions from Ian Lawrence Barwick
M doc/src/sgml/config.sgml
9.3 docs: wording fixes
commit : 75d1406a194d16823e786a8d5094abd1e7e5661b
author : Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 11:52:18 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 11:52:18 -0400
From Erik Rijkers
M doc/src/sgml/release-9.3.sgml
docs: fix log_line_prefix session id docs
commit : 262a3629971bdf61c309843b385a58d97bf4badb
author : Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 11:05:16 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 11:05:16 -0400
Backpatch to 9.2.
Report from Ian Lawrence Barwick
M doc/src/sgml/config.sgml
9.3 release notes: adjustments
commit : c008ca6015732da09416381710066540cbfa735b
author : Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 10:44:49 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 4 May 2013 10:44:49 -0400
Fixes from Peter Geoghegan, Ian Lawrence Barwick, Marti Raudsepp
M doc/src/sgml/release-9.3.sgml
9.3 release notes: move compatibility items into their own section
commit : 2497dc0867afd5b51d50e090fce2e828baadc8c3
author : Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 21:11:35 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 21:11:35 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release notes: Add markup for pg_backup_start_time()
commit : 1136d7a74d9feeab556a970b4b1e548e05f92a70
author : Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 20:55:03 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 20:55:03 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release notes: Add links to SGML sections
commit : 15f27aebbb688495da8a77a1ae67ded38f569829
author : Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 19:40:23 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 19:40:23 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release notes: add markup for text
commit : 14c7a74b6ebe4743b79e4f500503ffaa8c8a8638
author : Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 14:48:12 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 14:48:12 -0400
Still need to add links for new features.
M doc/src/sgml/release-9.3.sgml
M doc/src/sgml/release.sgml
Improve SPI documentation about null-flags arrays.
commit : c091c431979c182bc835b345655c1c162479aeb3
author : Tom Lane <[email protected]>
date : Fri, 3 May 2013 14:39:28 -0400
committer: Tom Lane <[email protected]>
date : Fri, 3 May 2013 14:39:28 -0400
Clarify the description of nulls[] arguments, and use the same wording
for all SPI functions with this type of argument. Per gripe from Yuriy
Rusinov.
M doc/src/sgml/spi.sgml
9.3 release notes: update for current commits
commit : 5fcf944c2303232826be49c09943849480719936
author : Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 13:30:58 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 3 May 2013 13:30:58 -0400
Also, remove broken link in release.sgml.
M doc/src/sgml/release-9.3.sgml
M doc/src/sgml/release.sgml
9.3 release notes: suggested improvements from Jeff Janes and Josh Berkus
commit : c8f61ebdc6e0a260efeef432239d4d2e8202a30d
author : Bruce Momjian <[email protected]>
date : Thu, 2 May 2013 19:14:20 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 2 May 2013 19:14:20 -0400
M doc/src/sgml/release-9.3.sgml
Prevent (auto)vacuum from truncating first page of populated matview.
commit : b69ec7cc990fd8da75ed4c232899503217d7b9ae
author : Kevin Grittner <[email protected]>
date : Thu, 2 May 2013 17:33:03 -0500
committer: Kevin Grittner <[email protected]>
date : Thu, 2 May 2013 17:33:03 -0500
Per report from Fujii Masao, with regression test using his example.
M src/backend/commands/vacuumlazy.c
M src/test/regress/expected/matview.out
M src/test/regress/sql/matview.sql
pg_test_fsync: update output to show usecs/op clearer
commit : 095018bc32b70eff95bdf3c2959e6eef09dcfa6a
author : Bruce Momjian <[email protected]>
date : Thu, 2 May 2013 10:27:06 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 2 May 2013 10:27:06 -0400
M contrib/pg_test_fsync/pg_test_fsync.c
Use correct length to convert json unicode escapes.
commit : 5f8b4319b94476de715ffef9183227ac6f4925c0
author : Andrew Dunstan <[email protected]>
date : Wed, 1 May 2013 18:47:18 -0400
committer: Andrew Dunstan <[email protected]>
date : Wed, 1 May 2013 18:47:18 -0400
Bug reported on IRC - fix due to Andrew Gierth.
M src/backend/utils/adt/json.c
Fix permission tests for views/tables proven empty by constraint exclusion.
commit : 50c137487c96e629e0e5372bb3d1b5f1a2f71a88
author : Tom Lane <[email protected]>
date : Wed, 1 May 2013 18:26:50 -0400
committer: Tom Lane <[email protected]>
date : Wed, 1 May 2013 18:26:50 -0400
A view defined as "select <something> where false" had the curious property
that the system wouldn't check whether users had the privileges necessary
to select from it. More generally, permissions checks could be skipped
for tables referenced in sub-selects or views that were proven empty by
constraint exclusion (although some quick testing suggests this seldom
happens in cases of practical interest). This happened because the planner
failed to include rangetable entries for such tables in the finished plan.
This was noticed in connection with erroneous handling of materialized
views, but actually the issue is quite unrelated to matviews. Therefore,
revert commit 200ba1667b3a8d7a9d559d2f05f83d209c9d8267 in favor of a more
direct test for the real problem.
Back-patch to 9.2 where the bug was introduced (by commit
7741dd6590073719688891898e85f0cb73453159).
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/plan/createplan.c
M src/test/regress/expected/matview.out
M src/test/regress/expected/privileges.out
M src/test/regress/sql/matview.sql
M src/test/regress/sql/privileges.sql
Add regression test for bug fixed by recent refactoring.
commit : 200ba1667b3a8d7a9d559d2f05f83d209c9d8267
author : Kevin Grittner <[email protected]>
date : Tue, 30 Apr 2013 15:02:43 -0500
committer: Kevin Grittner <[email protected]>
date : Tue, 30 Apr 2013 15:02:43 -0500
Test case by Andres Freund for bug fixed by Tom Lane's refactoring
in commit 5194024d72f33fb209e10f9ab0ada7cc67df45b7
M src/test/regress/expected/matview.out
M src/test/regress/sql/matview.sql
Fix pg_upgrade for 9.3 with data checksums. Previous changes misconstrued pg_upgrade internals causing build farm breakages.
commit : 87d3b35a1ca31a9d947a8f919a6006679216dff0
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 15:49:24 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 15:49:24 +0100
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/pg_upgrade.h
Revert previous temporary patch
commit : be475a2473b18a62a02d56c44047e16b54aac54d
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 15:32:10 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 15:32:10 +0100
M contrib/pg_upgrade/controldata.c
Temporarily silence pg_upgrade's checksums check
commit : 28377213bb6550cc5035b0ba258b518f80c1aaae
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 14:34:47 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 14:34:47 +0100
M contrib/pg_upgrade/controldata.c
Bump PG_CONTROL_VERSION to 937
commit : ceabfb20f9a7aadbb09ee1a276726fc309a39300
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 13:27:47 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 13:27:47 +0100
M src/include/catalog/pg_control.h
Record data_checksum_version in control file. The value is not used anywhere in code, but will allow future changes to the checksum version should that become necessary in the future.
commit : 443951748ce4c94b001877c7cf88b0ee969c79e7
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 12:27:12 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 12:27:12 +0100
M src/backend/access/transam/xlog.c
M src/backend/bootstrap/bootstrap.c
M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/include/catalog/pg_control.h
M src/include/storage/bufpage.h
Ensure we MarkBufferDirty before visibilitymap_set() logs the heap page and sets the LSN. Otherwise a checkpoint could occur between those actions and leave us in an inconsistent state.
commit : 730924397c8151c3cf34e633211cd0fe4a0db112
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 08:15:49 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 08:15:49 +0100
Jeff Davis
M src/backend/commands/vacuumlazy.c
Compiler optimizations for page checksum code.
commit : fdea2530bd4afb3d512cb9700b1d8cd603fab0e7
author : Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 06:59:26 +0100
committer: Simon Riggs <[email protected]>
date : Tue, 30 Apr 2013 06:59:26 +0100
Ants Aasma and Jeff Davis
M config/c-compiler.m4
M configure
M configure.in
M src/Makefile.global.in
M src/backend/storage/page/Makefile
pg_upgrade: Remove PGPORT handling from test suite
commit : 3d53173e20d151341f894f79d556768c845ba3e4
author : Peter Eisentraut <[email protected]>
date : Mon, 29 Apr 2013 22:17:29 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 29 Apr 2013 22:17:29 -0400
This code was left over from when pg_upgrade paid attention to PGPORT.
Now it would only affects the regression test run before the test run of
pg_upgrade. You can still set PGPORT for that, but there is no reason
to have the test driver default it to 50432.
M contrib/pg_upgrade/test.sh
Revert "pg_ctl: Add idempotent option"
commit : 187ca5e8e90baacc2d36c8bd0b08040f33c07fa1
author : Peter Eisentraut <[email protected]>
date : Mon, 29 Apr 2013 21:55:12 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 29 Apr 2013 21:55:12 -0400
This reverts commit 87306184580c9c49717b00d48a2f9e717f21e0a8. The
behavior in certain cases is still being debated, and it's too late to
solve this before beta.
M contrib/start-scripts/linux
M doc/src/sgml/ref/pg_ctl-ref.sgml
M src/bin/pg_ctl/pg_ctl.c
Postpone creation of pathkeys lists to fix bug #8049.
commit : db9f0e1d9a4a0842c814a464cdc9758c3f20b96c
author : Tom Lane <[email protected]>
date : Mon, 29 Apr 2013 14:49:01 -0400
committer: Tom Lane <[email protected]>
date : Mon, 29 Apr 2013 14:49:01 -0400
This patch gets rid of the concept of, and infrastructure for,
non-canonical PathKeys; we now only ever create canonical pathkey lists.
The need for non-canonical pathkeys came from the desire to have
grouping_planner initialize query_pathkeys and related pathkey lists before
calling query_planner. However, since query_planner didn't actually *do*
anything with those lists before they'd been made canonical, we can get rid
of the whole mess by just not creating the lists at all until the point
where we formerly canonicalized them.
There are several ways in which we could implement that without making
query_planner itself deal with grouping/sorting features (which are
supposed to be the province of grouping_planner). I chose to add a
callback function to query_planner's API; other alternatives would have
required adding more fields to PlannerInfo, which while not bad in itself
would create an ABI break for planner-related plugins in the 9.2 release
series. This still breaks ABI for anything that calls query_planner
directly, but it seems somewhat unlikely that there are any such plugins.
I had originally conceived of this change as merely a step on the way to
fixing bug #8049 from Teun Hoogendoorn; but it turns out that this fixes
that bug all by itself, as per the added regression test. The reason is
that now get_eclass_for_sort_expr is adding the ORDER BY expression at the
end of EquivalenceClass creation not the start, and so anything that is in
a multi-member EquivalenceClass has already been created with correct
em_nullable_relids. I am suspicious that there are related scenarios in
which we still need to teach get_eclass_for_sort_expr to compute correct
nullable_relids, but am not eager to risk destabilizing either 9.2 or 9.3
to fix bugs that are only hypothetical. So for the moment, do this and
stop here.
Back-patch to 9.2 but not to earlier branches, since they don't exhibit
this bug for lack of join-clause-movement logic that depends on
em_nullable_relids being correct. (We might have to revisit that choice
if any related bugs turn up.) In 9.2, don't change the signature of
make_pathkeys_for_sortclauses nor remove canonicalize_pathkeys, so as
not to risk more plugin breakage than we have to.
M src/backend/nodes/equalfuncs.c
M src/backend/optimizer/README
M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/pathkeys.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/plan/planner.c
M src/include/nodes/relation.h
M src/include/optimizer/paths.h
M src/include/optimizer/planmain.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql
Ensure ANALYZE phase is not skipped because of canceled truncate.
commit : 5fc893760f60d57aca30163796db1abe516b3fac
author : Kevin Grittner <[email protected]>
date : Mon, 29 Apr 2013 13:05:26 -0500
committer: Kevin Grittner <[email protected]>
date : Mon, 29 Apr 2013 13:05:26 -0500
Patch b19e4250b45e91c9cbdd18d35ea6391ab5961c8d attempted to
preserve existing behavior regarding statistics generation in the
case that a truncation attempt was canceled due to lock conflicts.
It failed to do this accurately in two regards: (1) autovacuum had
previously generated statistics if the truncate attempt failed to
initially get the lock rather than having started the attempt, and
(2) the VACUUM ANALYZE command had always generated statistics.
Both of these changes were unintended, and are reverted by this
patch. On review, there seems to be consensus that the previous
failure to generate statistics when the truncate was terminated
was more an unfortunate consequence of how that effort was
previously terminated than a feature we want to keep; so this
patch generates statistics even when an autovacuum truncation
attempt terminates early. Another unintended change which is kept
on the basis that it is an improvement is that when a VACUUM
command is truncating, it will the new heuristic for avoiding
blocking other processes, rather than keeping an
AccessExclusiveLock on the table for however long the truncation
takes.
Per multiple reports, with some renaming per patch by Jeff Janes.
Backpatch to 9.0, where problem was created.
M src/backend/commands/vacuumlazy.c
Attempt to fix error recovery in COPY BOTH mode.
commit : 91fa8532f4053468acc08534a6aac516ccde47b7
author : Robert Haas <[email protected]>
date : Mon, 29 Apr 2013 06:29:32 -0400
committer: Robert Haas <[email protected]>
date : Mon, 29 Apr 2013 06:29:32 -0400
Previously, libpq and the backend had opposite ideas about whether
it was necessary for the client to send a CopyDone message after
receiving an ErrorResponse, making it impossible to cleanly exit
COPY BOTH mode. Fix libpq so that works correctly, adopting the
backend's notion that an ErrorResponse kills the copy in both
directions.
Adjust receivelog.c to avoid a degradation in the quality of the
resulting error messages. libpqwalreceiver.c is already doing
the right thing, so no adjustment needed there.
Add an explicit statement to the documentation explaining how
this part of the protocol is supposed to work, in the hopes of
avoiding future confusion in this area.
Since the consequences of all this confusion are very limited,
especially in the back-branches where no client ever attempts
to exit COPY BOTH mode without closing the connection entirely,
no back-patch.
M doc/src/sgml/protocol.sgml
M src/bin/pg_basebackup/receivelog.c
M src/interfaces/libpq/fe-protocol3.c
Introduce new page checksum algorithm and module. Isolate checksum calculation to its own module, so that bufpage knows little if anything about the details of the calculation.
commit : 43e7a668499b8a69a62cc539a0fbe6983384339c
author : Simon Riggs <[email protected]>
date : Mon, 29 Apr 2013 09:05:27 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 29 Apr 2013 09:05:27 +0100
This implementation is a modified FNV-1a hash checksum, details
of which are given in the new checksum.c header comments.
Basic implementation only, so we fix the output value.
Later related commits will add version numbers to pg_control,
compiler optimization flags and memory barriers.
Ants Aasma, reviewed by Jeff Davis and Simon Riggs
M src/backend/storage/page/Makefile
M src/backend/storage/page/bufpage.c
A src/backend/storage/page/checksum.c
A src/include/storage/checksum.h
Editorialize a bit on new ProcessUtility() API.
commit : f8db76e875099e5e49f5cd729a673e84c0b0471b
author : Tom Lane <[email protected]>
date : Sun, 28 Apr 2013 00:18:45 -0400
committer: Tom Lane <[email protected]>
date : Sun, 28 Apr 2013 00:18:45 -0400
Choose a saner ordering of parameters (adding a new input param after
the output params seemed a bit random), update the function's header
comment to match reality (cmon folks, is this really that hard?),
get rid of useless and sloppily-defined distinction between
PROCESS_UTILITY_SUBCOMMAND and PROCESS_UTILITY_GENERATED.
M contrib/pg_stat_statements/pg_stat_statements.c
M contrib/sepgsql/hooks.c
M src/backend/commands/extension.c
M src/backend/commands/schemacmds.c
M src/backend/commands/trigger.c
M src/backend/executor/functions.c
M src/backend/executor/spi.c
M src/backend/tcop/pquery.c
M src/backend/tcop/utility.c
M src/include/tcop/utility.h
Fix unsafe event-trigger coding in ProcessUtility().
commit : 5525e6c40bbda351a19b48317eba0f79aa32e447
author : Tom Lane <[email protected]>
date : Sat, 27 Apr 2013 23:11:28 -0400
committer: Tom Lane <[email protected]>
date : Sat, 27 Apr 2013 23:11:28 -0400
We mustn't run any of the event-trigger support code when handling
utility statements like START TRANSACTION or ABORT, because that code
may need to refresh event-trigger cache data, which requires being
inside a valid transaction. (This mistake explains the consistent
build failures exhibited by the CLOBBER_CACHE_ALWAYS buildfarm members,
as well as some irreproducible failures on other members.)
The least messy fix seems to be to break standard_ProcessUtility into two
functions, one that handles all the statements not supported by event
triggers, and one that contains the event-trigger support code and handles
the statements that are supported by event triggers.
This change also fixes several inconsistencies, such as four cases where
support had been installed for "ddl_event_start" but not "ddl_event_end"
triggers, plus the fact that InvokeDDLCommandEventTriggersIfSupported()
paid no mind to isCompleteQuery.
Dimitri Fontaine and Tom Lane
M src/backend/tcop/utility.c
pg_dump: Improve message formatting
commit : bbb4db4e04d4691d7bc42fa19995aee3e80fe2dc
author : Peter Eisentraut <[email protected]>
date : Sat, 27 Apr 2013 23:06:37 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 27 Apr 2013 23:06:37 -0400
M src/bin/pg_dump/pg_dump.c
Incidental cleanup of matviews code.
commit : 5194024d72f33fb209e10f9ab0ada7cc67df45b7
author : Tom Lane <[email protected]>
date : Sat, 27 Apr 2013 17:48:57 -0400
committer: Tom Lane <[email protected]>
date : Sat, 27 Apr 2013 17:48:57 -0400
Move checking for unscannable matviews into ExecOpenScanRelation, which is
a better place for it first because the open relation is already available
(saving a relcache lookup cycle), and second because this eliminates the
problem of telling the difference between rangetable entries that will or
will not be scanned by the query. In particular we can get rid of the
not-terribly-well-thought-out-or-implemented isResultRel field that the
initial matviews patch added to RangeTblEntry.
Also get rid of entirely unnecessary scannability check in the rewriter,
and a bogus decision about whether RefreshMatViewStmt requires a parse-time
snapshot.
catversion bump due to removal of a RangeTblEntry field, which changes
stored rules.
M src/backend/commands/createas.c
M src/backend/commands/matview.c
M src/backend/executor/execMain.c
M src/backend/executor/execUtils.c
M src/backend/executor/nodeBitmapHeapscan.c
M src/backend/executor/nodeForeignscan.c
M src/backend/executor/nodeIndexonlyscan.c
M src/backend/executor/nodeIndexscan.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/nodeTidscan.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/parser/analyze.c
M src/backend/rewrite/rewriteHandler.c
M src/include/catalog/catversion.h
M src/include/executor/executor.h
M src/include/nodes/parsenodes.h
Improve message about failed transaction log archiving
commit : f5d576c6d278a61beec282b9b276a3a3cb2aec50
author : Peter Eisentraut <[email protected]>
date : Fri, 26 Apr 2013 22:43:54 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 26 Apr 2013 22:43:54 -0400
The old phrasing appeared to imply that the failure was terminal.
Improve that by indicating that archiving will be tried again later.
M src/backend/postmaster/pgarch.c
Update config.guess and config.sub
commit : b53b603c919dd37444da0f15e8867c707ce1a03a
author : Peter Eisentraut <[email protected]>
date : Fri, 26 Apr 2013 22:13:03 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 26 Apr 2013 22:13:03 -0400
M config/config.guess
M config/config.sub
Fix collation assignment for aggregates with ORDER BY.
commit : 41a2760f611d1b3c1e67f755baf0a052b5cec9af
author : Tom Lane <[email protected]>
date : Fri, 26 Apr 2013 15:48:24 -0400
committer: Tom Lane <[email protected]>
date : Fri, 26 Apr 2013 15:48:24 -0400
ORDER BY expressions were being treated the same as regular aggregate
arguments for purposes of collation determination, but really they should
not affect the aggregate's collation at all; only collations of the
aggregate's regular arguments should affect it.
In many cases this mistake would lead to incorrectly throwing a "collation
conflict" error; but in some cases the corrected code will silently assign
a different collation to the aggregate than before, for example
agg(foo ORDER BY bar COLLATE "x")
which will now use foo's collation rather than "x" for the aggregate.
Given this risk and the lack of field complaints about the issue, it
doesn't seem prudent to back-patch.
In passing, rearrange code in assign_collations_walker so that we don't
need multiple copies of the standard logic for computing collation of a
node with children. (Previously, CaseExpr duplicated the standard logic,
and we would have needed a third copy for Aggref without this change.)
Andrew Gierth and David Fetter
M src/backend/parser/parse_collate.c
M src/test/regress/expected/collate.out
M src/test/regress/sql/collate.sql
Ensure that user created rows in extension tables get dumped if the table is explicitly requested, either with a -t/--table switch of the table itself, or by -n/--schema switch of the schema containing the extension table. Patch reviewed by Vibhor Kumar and Dimitri Fontaine.
commit : b42ea7981ce1e7484951a22662937541066d8647
author : Joe Conway <[email protected]>
date : Fri, 26 Apr 2013 11:50:00 -0700
committer: Joe Conway <[email protected]>
date : Fri, 26 Apr 2013 11:50:00 -0700
Backpatched to 9.1 when the extension management facility was added.
M src/bin/pg_dump/pg_dump.c
libpq: Fix a few bits that didn't get the memo about COPY BOTH.
commit : 5eb7c4d364c8733d20d7fc8a453a145ee6da10cf
author : Robert Haas <[email protected]>
date : Fri, 26 Apr 2013 08:57:47 -0400
committer: Robert Haas <[email protected]>
date : Fri, 26 Apr 2013 08:57:47 -0400
There's probably no real bug here at present, so not backpatching.
But it seems good to make these bits consistent with the rest of
libpq, so as to avoid future surprises.
Patch by me. Review by Tom Lane.
M src/interfaces/libpq/fe-protocol3.c
Avoid deadlock between concurrent CREATE INDEX CONCURRENTLY commands.
commit : c3d09b3bd23f5f65b5eb8124a3c7592dad85a50c
author : Tom Lane <[email protected]>
date : Thu, 25 Apr 2013 16:58:05 -0400
committer: Tom Lane <[email protected]>
date : Thu, 25 Apr 2013 16:58:05 -0400
There was a high probability of two or more concurrent C.I.C. commands
deadlocking just before completion, because each would wait for the others
to release their reference snapshots. Fix by releasing the snapshot
before waiting for other snapshots to go away.
Per report from Paul Hinze. Back-patch to all active branches.
M src/backend/commands/indexcmds.c
Fix typo in comment.
commit : 447b3174f58be808e81408b2166b41d898292ab3
author : Heikki Linnakangas <[email protected]>
date : Thu, 25 Apr 2013 14:03:10 +0300
committer: Heikki Linnakangas <[email protected]>
date : Thu, 25 Apr 2013 14:03:10 +0300
Peter Geoghegan
M src/backend/storage/lmgr/lock.c
pg_basebackup: Add missing newlines at end of lines
commit : 6cf84628342ca859a15c9b1576fdbebc3575a0d2
author : Peter Eisentraut <[email protected]>
date : Wed, 24 Apr 2013 22:51:10 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 24 Apr 2013 22:51:10 -0400
M src/bin/pg_basebackup/receivelog.c
initdb: Improve some messages
commit : 4c0343d4af716813388a585390f5660c17a848f9
author : Peter Eisentraut <[email protected]>
date : Wed, 24 Apr 2013 22:50:33 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 24 Apr 2013 22:50:33 -0400
M src/bin/initdb/initdb.c
PL/pgSQL doc: Add example for RETURN QUERY
commit : 4d67961110d17768021bac2c00fd395942d03170
author : Peter Eisentraut <[email protected]>
date : Tue, 23 Apr 2013 22:46:36 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 23 Apr 2013 22:46:36 -0400
Erwin Brandstetter and Pavel Stěhule
M doc/src/sgml/plpgsql.sgml
Add missing #include.
commit : 0c1a160a68b89f5b2c31eac458ca2d62a622a524
author : Heikki Linnakangas <[email protected]>
date : Wed, 24 Apr 2013 19:11:25 +0300
committer: Heikki Linnakangas <[email protected]>
date : Wed, 24 Apr 2013 19:11:25 +0300
On non-Windows systems, sys/time.h was pulled in by portability/instr_time.h,
which pulled in time.h. We certainly should include time.h directly, since
we're using time(2), but the indirect include masked the problem on most
platforms.
Andres Freund
M src/bin/psql/command.c
Fix assertion failure for REFRESH MATERIALIZED VIEW in PL.
commit : 63e20041a2b5f98fdfe6b32af9550ca54ff8649f
author : Kevin Grittner <[email protected]>
date : Wed, 24 Apr 2013 08:39:06 -0500
committer: Kevin Grittner <[email protected]>
date : Wed, 24 Apr 2013 08:39:06 -0500
This was due to incomplete implementation of rowcount reporting
for RMV, which was due to initial waffling on whether it should
be provided. It seems unlikely to be a useful or universally
available number as more sophisticated techniques for maintaining
matviews are added, so remove the partial support rather than
completing it.
Per report of Jeevan Chalke, but with a different fix
M src/backend/executor/spi.c
Make fast promotion the default promotion mode. Continue to allow a request for synchronous checkpoints as a mechanism in case of problems.
commit : 2317a63328cd9d1c22d02218c6959f340b63d98f
author : Simon Riggs <[email protected]>
date : Wed, 24 Apr 2013 12:21:18 +0100
committer: Simon Riggs <[email protected]>
date : Wed, 24 Apr 2013 12:21:18 +0100
M src/backend/access/transam/xlog.c
M src/bin/pg_ctl/pg_ctl.c
9.3 release notes: adjustments per Alvaro
commit : 173c252bb2d9549fa091f606264e8da65672d5f4
author : Bruce Momjian <[email protected]>
date : Tue, 23 Apr 2013 23:21:09 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 23 Apr 2013 23:21:09 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release note updates from Dean Rasheed, Jov, Heikki Linnakangas, Erikjan Rijkers
commit : 2d3edce6b32b6c9a37c14684d63e457f1bd5c55a
author : Bruce Momjian <[email protected]>
date : Tue, 23 Apr 2013 17:06:17 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 23 Apr 2013 17:06:17 -0400
M doc/src/sgml/release-9.3.sgml
Remove prototype for cube(text) function that doesn't exist anymore.
commit : cc7b0c2553a69eee914783a1cf0f34a2cbbf9afe
author : Heikki Linnakangas <[email protected]>
date : Tue, 23 Apr 2013 13:48:14 +0300
committer: Heikki Linnakangas <[email protected]>
date : Tue, 23 Apr 2013 13:48:14 +0300
Adrian Schreyer
M contrib/cube/cube.c
9.3 release notes: add diacritics
commit : 98a1e7a735886b38bb0cc3bac5e96cffbf245de1
author : Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 17:17:00 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 17:17:00 -0400
Alvaro Herrera
M doc/src/sgml/release-9.3.sgml
9.3 release notes: adjustments per Alvaro and Robert
commit : e35388451bb7c32be2783d700bd8076e08514c2c
author : Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 16:05:06 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 16:05:06 -0400
M doc/src/sgml/release-9.3.sgml
Mention in docs that you can create SP-GiST indexes on range types.
commit : ae7363999ff36a6857b968ffee8487519273709b
author : Heikki Linnakangas <[email protected]>
date : Mon, 22 Apr 2013 21:51:14 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 22 Apr 2013 21:51:14 +0300
This is new in 9.3devel.
M doc/src/sgml/rangetypes.sgml
9.3 release notes: apply fixes suggested by Alvaro
commit : 4f8799a948a6b701e23de692237094c83146d3b6
author : Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 14:33:28 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 14:33:28 -0400
M doc/src/sgml/release-9.3.sgml
9.3 release notes: update streaming replication speedups
commit : beaa823bea8663779b12ce896e40038dd4796eaa
author : Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 10:22:43 -0400
committer: Bruce Momjian <[email protected]>
date : Mon, 22 Apr 2013 10:22:43 -0400
Andres Freund
M doc/src/sgml/release-9.3.sgml
doc: Improve example formatting
commit : e7d5ffe8ea9883f1b472036dfc098d555f5cd3ea
author : Peter Eisentraut <[email protected]>
date : Sun, 21 Apr 2013 22:21:29 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 21 Apr 2013 22:21:29 -0400
Erwin Brandstetter
M doc/src/sgml/plpgsql.sgml
doc: Fix syntax in example
commit : 53ecfddcebbf607badc678e294bf977334b79327
author : Peter Eisentraut <[email protected]>
date : Sun, 21 Apr 2013 22:16:12 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 21 Apr 2013 22:16:12 -0400
LANGUAGE 'plpgsql' no longer works. The single quotes need to be
removed.
Erwin Brandstetter
M doc/src/sgml/plpgsql.sgml
In 9.3 release notes, split up items
commit : c3ab4ea27d5e2cd341fc189eb413909f177d835e
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 21:05:31 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 21:05:31 -0400
Split log shipping speed improvement and fail-over speed improvement items.
Per request from Simon
M doc/src/sgml/release-9.3.sgml
9.3 release note adjustments per request from Andres Freund
commit : 4be535e2e44025975814937818c899fed7aafca3
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 10:08:58 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 10:08:58 -0400
M doc/src/sgml/release-9.3.sgml
Remove 9.3 item about fixing DROP INDEX CONCURRENTLY
commit : 1f2236edd1876a8718453f7d4e8e7fdef378c91e
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:16:23 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:16:23 -0400
Already fixed in back branch.
M doc/src/sgml/release-9.3.sgml
9.3 release note fixes
commit : ac96e6a8c2c5477344e78840e689e39e7b7b3cf1
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:14:34 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:14:34 -0400
Move commit_delay, fix Zoltan's name, and adjust range type histogram
text.
M doc/src/sgml/release-9.3.sgml
Adjust 9.3 release notes per request from Simon
commit : 864ec2f0cd5dd2ba5a7b40cc150cecb3010f739c
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:05:16 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 09:05:16 -0400
M doc/src/sgml/release-9.3.sgml
Reorder 9.3 release note items
commit : ef3defcf0d507abb75d9e9696f11b44f4fc09291
author : Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 00:57:18 -0400
committer: Bruce Momjian <[email protected]>
date : Sun, 21 Apr 2013 00:57:18 -0400
Typo fix from David Fetter.
M doc/src/sgml/release-9.3.sgml
More 9.3 release note reorderings
commit : f0922cbdcc54a11ea7eef955763aab4d540bf22f
author : Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 17:31:06 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 17:31:06 -0400
M doc/src/sgml/release-9.3.sgml
Fix Gilles Darold's name in 9.3 release notes.
commit : 488eb9055d3135268fdb401953f395885829d2f4
author : Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 17:09:10 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 17:09:10 -0400
M doc/src/sgml/release-9.3.sgml
Fix longstanding race condition in plancache.c.
commit : ac63dca607e8e22247defbc8fe03b6baa3628c42
author : Tom Lane <[email protected]>
date : Sat, 20 Apr 2013 16:59:21 -0400
committer: Tom Lane <[email protected]>
date : Sat, 20 Apr 2013 16:59:21 -0400
When creating or manipulating a cached plan for a transaction control
command (particularly ROLLBACK), we must not perform any catalog accesses,
since we might be in an aborted transaction. However, plancache.c busily
saved or examined the search_path for every cached plan. If we were
unlucky enough to do this at a moment where the path's expansion into
schema OIDs wasn't already cached, we'd do some catalog accesses; and with
some more bad luck such as an ill-timed signal arrival, that could lead to
crashes or Assert failures, as exhibited in bug #8095 from Nachiket Vaidya.
Fortunately, there's no real need to consider the search path for such
commands, so we can just skip the relevant steps when the subject statement
is a TransactionStmt. This is somewhat related to bug #5269, though the
failure happens during initial cached-plan creation rather than
revalidation.
This bug has been there since the plan cache was invented, so back-patch
to all supported branches.
M src/backend/utils/cache/plancache.c
Reorder some 9.3 release item entries
commit : 61b962345dd87276452922a5dbc21836266b43e0
author : Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:50:56 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:50:56 -0400
More to go.
M doc/src/sgml/release-9.3.sgml
Push 9.3 release SGML file
commit : 22f956f50cac33287daf76d79890057ba2fb3789
author : Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:32:32 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:32:32 -0400
Forgotten in previous commit.
A doc/src/sgml/release-9.3.sgml
Publish draft 9.3 release notes
commit : e9a35c2082e638c34567db1b5738f355475811d6
author : Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:29:58 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 20 Apr 2013 16:29:58 -0400
No links added yet.
M doc/src/sgml/filelist.sgml
M doc/src/sgml/release.sgml
doc: Mention SATA alongside IDE for Linux
commit : 540ec93e33c4eea7da502e8a4e76e5de4b994ac1
author : Peter Eisentraut <[email protected]>
date : Sat, 20 Apr 2013 15:56:22 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 20 Apr 2013 15:56:22 -0400
suggested by Jov
M doc/src/sgml/wal.sgml
Clean up references to SQL92
commit : cc26ea9fe2e41e73c955ea75bea7a77fbd062d64
author : Peter Eisentraut <[email protected]>
date : Sat, 20 Apr 2013 11:04:41 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 20 Apr 2013 11:04:41 -0400
In most cases, these were just references to the SQL standard in
general. In a few cases, a contrast was made between SQL92 and later
standards -- those have been kept unchanged.
M src/backend/catalog/pg_operator.c
M src/backend/executor/execMain.c
M src/backend/parser/gram.y
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_utilcmd.c
M src/backend/tcop/pquery.c
M src/backend/utils/adt/date.c
M src/backend/utils/adt/datetime.c
M src/backend/utils/adt/float.c
M src/backend/utils/adt/like_match.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/timestamp.c
M src/backend/utils/adt/varlena.c
M src/include/nodes/parsenodes.h
M src/include/utils/date.h
M src/include/utils/timestamp.h
M src/interfaces/ecpg/preproc/pgc.l
M src/test/regress/expected/boolean.out
M src/test/regress/expected/case.out
M src/test/regress/expected/strings.out
M src/test/regress/input/constraints.source
M src/test/regress/output/constraints.source
M src/test/regress/sql/boolean.sql
M src/test/regress/sql/case.sql
M src/test/regress/sql/strings.sql
Improve error message when an FDW doesn't support WHERE CURRENT OF.
commit : 6e481ebff6368cb0ab5351a5ef3463747c35af22
author : Tom Lane <[email protected]>
date : Fri, 19 Apr 2013 16:14:56 -0400
committer: Tom Lane <[email protected]>
date : Fri, 19 Apr 2013 16:14:56 -0400
If an FDW fails to take special measures with a CurrentOfExpr, we will
end up trying to execute it as an ordinary qual, which was being treated
as a purely internal failure condition. Provide a more user-oriented
error message for such cases.
M src/backend/executor/execQual.c
Don't try to pass -I switch to postmaster in contrib/start-scripts/linux.
commit : 3353583d7ecf7c9f8bc5966ed0a2537dec71ffdc
author : Tom Lane <[email protected]>
date : Fri, 19 Apr 2013 13:28:45 -0400
committer: Tom Lane <[email protected]>
date : Fri, 19 Apr 2013 13:28:45 -0400
Undo thinko in commit 87306184580c9c49717b00d48a2f9e717f21e0a8.
Per bug #8098 from Catherine Devlin.
M contrib/start-scripts/linux
Fix typo in comment.
commit : 4580a4bd2c858acf85c578609b8373d730a04534
author : Robert Haas <[email protected]>
date : Fri, 19 Apr 2013 09:32:49 -0400
committer: Robert Haas <[email protected]>
date : Fri, 19 Apr 2013 09:32:49 -0400
Fabrízio de Royes Mello
M contrib/hstore/crc32.c
Standardize spelling of "nonblocking"
commit : acd5803053eb5ff6ad055ac1f7670625f1d111e0
author : Peter Eisentraut <[email protected]>
date : Thu, 18 Apr 2013 23:35:19 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 18 Apr 2013 23:35:19 -0400
Only adjusted the user-exposed messages and documentation, not all
source code comments.
M doc/src/sgml/indexam.sgml
M doc/src/sgml/mvcc.sgml
M src/backend/libpq/pqcomm.c
M src/backend/postmaster/postmaster.c
M src/interfaces/libpq/fe-auth.c
M src/interfaces/libpq/fe-connect.c
pg_upgrade: Add checksum C comment
commit : 5286963066ce7420d80882528b5f07c28f39eacf
author : Bruce Momjian <[email protected]>
date : Wed, 17 Apr 2013 17:39:14 -0400
committer: Bruce Momjian <[email protected]>
date : Wed, 17 Apr 2013 17:39:14 -0400
We might eventually allow checksum to no-checksum upgrades.
M contrib/pg_upgrade/controldata.c
sepgsql: Minor improvement to test script, doc fix.
commit : f050457978f4f8deb1ac850439bf7c46c818f4ae
author : Robert Haas <[email protected]>
date : Wed, 17 Apr 2013 09:55:24 -0400
committer: Robert Haas <[email protected]>
date : Wed, 17 Apr 2013 09:55:24 -0400
KaiGai Kohei
M contrib/sepgsql/test_sepgsql
M doc/src/sgml/sepgsql.sgml
sepgsql: One more getObjectIdentity in lieu of getObjectDescription.
commit : 0bf5c548d64b66b92197c6d8490b9b131ba02269
author : Robert Haas <[email protected]>
date : Wed, 17 Apr 2013 09:52:25 -0400
committer: Robert Haas <[email protected]>
date : Wed, 17 Apr 2013 09:52:25 -0400
KaiGai Kohei, based on a suggestion from Álvaro Herrera
M contrib/sepgsql/expected/label.out
M contrib/sepgsql/expected/misc.out
M contrib/sepgsql/proc.c
doc: Update PQgetssl() documentation
commit : b9bdaf3964a1fbd32e6140eb180dfa82ff1d8f23
author : Peter Eisentraut <[email protected]>
date : Tue, 16 Apr 2013 21:42:10 -0400
committer: Peter Eisentraut <[email protected]>
date : Tue, 16 Apr 2013 21:42:10 -0400
The return type of PQgetssl() was changed from SSL* to void* a long time
ago, but the documentation was not updated.
M doc/src/sgml/libpq.sgml
pgindent: add newline to die() so script line number is not reported on failure.
commit : d61dddba37c27b1b5157b493bd04913c23ade7c2
author : Bruce Momjian <[email protected]>
date : Tue, 16 Apr 2013 10:30:31 -0400
committer: Bruce Momjian <[email protected]>
date : Tue, 16 Apr 2013 10:30:31 -0400
M src/tools/pgindent/pgindent
Remove some unused and seldom used fields from RelationAmInfo.
commit : 87ae9e72654ddddf25433b8a178e9268cf03f5b5
author : Heikki Linnakangas <[email protected]>
date : Tue, 16 Apr 2013 15:01:21 +0300
committer: Heikki Linnakangas <[email protected]>
date : Tue, 16 Apr 2013 15:01:21 +0300
This saves some memory from each index relcache entry. At least on a 64-bit
machine, it saves just enough to shrink a typical relcache entry's memory
usage from 2k to 1k. That's nice if you have a lot of backends and a lot of
indexes.
M src/backend/access/index/indexam.c
M src/include/utils/rel.h
Fix function return type confusion
commit : c74d586d2fc8aeaa303d8c60a8a9d959fdc5e791
author : Peter Eisentraut <[email protected]>
date : Mon, 15 Apr 2013 22:33:24 -0400
committer: Peter Eisentraut <[email protected]>
date : Mon, 15 Apr 2013 22:33:24 -0400
When parse_hba_line's return type was changed from bool to a pointer,
the MANDATORY_AUTH_ARG macro wasn't adjusted.
M src/backend/libpq/hba.c
Mark json IO and extraction functions immutable.
commit : d788121aba3425b5d52fe20cc9facb6aca1294ce
author : Andrew Dunstan <[email protected]>
date : Mon, 15 Apr 2013 21:46:25 -0400
committer: Andrew Dunstan <[email protected]>
date : Mon, 15 Apr 2013 21:46:25 -0400
Per complaint from Hubert Depesz Lubaczewski.
Catalog version bumped.
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
Correct handling of NULL arguments in json funcs.
commit : 728ec9731fb0b3f2de8ce66a394b71c64930f445
author : Andrew Dunstan <[email protected]>
date : Mon, 15 Apr 2013 16:20:21 -0400
committer: Andrew Dunstan <[email protected]>
date : Mon, 15 Apr 2013 16:20:21 -0400
Per gripe from Tom Lane.
M src/backend/utils/adt/jsonfuncs.c
Improve GiST index search performance for trigram regex queries.
commit : 410bed2ab8c3864d7f34f9694d080adcaf446352
author : Tom Lane <[email protected]>
date : Mon, 15 Apr 2013 12:49:29 -0400
committer: Tom Lane <[email protected]>
date : Mon, 15 Apr 2013 12:49:29 -0400
The initial coding just descended the index if any of the target trigrams
were possibly present at the next level down. But actually we can apply
trigramsMatchGraph() so as to take advantage of AND requirements when there
are some. The input data might contain false positive matches, but that
can only result in a false positive result, not false negative, so it's
safe to do it this way.
Alexander Korotkov
M contrib/pg_trgm/trgm_gist.c
Add serial comma
commit : e08fdf13107b6685047cf055c7966845c8c96f90
author : Peter Eisentraut <[email protected]>
date : Sun, 14 Apr 2013 11:12:30 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 14 Apr 2013 11:12:30 -0400
M src/backend/rewrite/rewriteHandler.c
M src/test/regress/expected/updatable_views.out
pg_ctl: Add idempotent option
commit : 87306184580c9c49717b00d48a2f9e717f21e0a8
author : Peter Eisentraut <[email protected]>
date : Sat, 13 Apr 2013 23:42:42 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 13 Apr 2013 23:42:42 -0400
This changes the behavior of the start and stop actions to exit
successfully if the server was already started or stopped.
This changes the default behavior of the start action: Before, if the
server was already running, it would print a message and succeed. Now,
that situation will result in an error. When running in idempotent
mode, no message is printed and pg_ctl exits successfully.
It was considered to just make the idempotent behavior the default and
only option, but pg_upgrade needs the old behavior.
M contrib/start-scripts/linux
M doc/src/sgml/ref/pg_ctl-ref.sgml
M src/bin/pg_ctl/pg_ctl.c
Fix sporadic rebuilds for .pc files
commit : ba66752d278818b6b8797aec2e36cccf727db055
author : Peter Eisentraut <[email protected]>
date : Fri, 12 Apr 2013 22:45:51 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 12 Apr 2013 22:45:51 -0400
The build of .pc (pkg-config) files depends on all makefiles in use, and
in dependency tracking mode, the previous coding ended up including
/dev/null as a makefile. Apparently, on some platforms the modification
time of /dev/null changes sporadically, and so the .pc files would end
up being rebuilt every so often. Fix that by changing the makefile code
to do without using /dev/null.
M src/Makefile.global.in
Clean up the mess around EXPLAIN and materialized views.
commit : 0b337904213337db5026ef0a756a447588023935
author : Tom Lane <[email protected]>
date : Fri, 12 Apr 2013 19:25:20 -0400
committer: Tom Lane <[email protected]>
date : Fri, 12 Apr 2013 19:25:20 -0400
Revert the matview-related changes in explain.c's API, as per recent
complaint from Robert Haas. The reason for these appears to have been
principally some ill-considered choices around having intorel_startup do
what ought to be parse-time checking, plus a poor arrangement for passing
it the view parsetree it needs to store into pg_rewrite when creating a
materialized view. Do the latter by having parse analysis stick a copy
into the IntoClause, instead of doing it at runtime. (On the whole,
I seriously question the choice to represent CREATE MATERIALIZED VIEW as a
variant of SELECT INTO/CREATE TABLE AS, because that means injecting even
more complexity into what was already a horrid legacy kluge. However,
I didn't go so far as to rethink that choice ... yet.)
I also moved several error checks into matview parse analysis, and
made the check for external Params in a matview more accurate.
In passing, clean things up a bit more around interpretOidsOption(),
and fix things so that we can use that to force no-oids for views,
sequences, etc, thereby eliminating the need to cons up "oids = false"
options when creating them.
catversion bump due to change in IntoClause. (I wonder though if we
really need readfuncs/outfuncs support for IntoClause anymore.)
M src/backend/commands/createas.c
M src/backend/commands/explain.c
M src/backend/commands/prepare.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/view.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/parser/analyze.c
M src/backend/parser/gram.y
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_param.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_utilcmd.c
M src/include/catalog/catversion.h
M src/include/commands/createas.h
M src/include/commands/explain.h
M src/include/commands/tablecmds.h
M src/include/nodes/primnodes.h
M src/include/parser/parse_clause.h
M src/include/parser/parse_param.h
M src/include/parser/parse_relation.h
pgindent: improve error messages
commit : 5003f94f661d3eff0c44774576fe2f1ae202da86
author : Bruce Momjian <[email protected]>
date : Fri, 12 Apr 2013 15:25:33 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 12 Apr 2013 15:25:33 -0400
per suggestion from Gurjeet Singh
M src/tools/pgindent/pgindent
pgindent: fix downloading of BSD indent binary
commit : 8daa4e960e15eb31e141585968c91cc666889585
author : Bruce Momjian <[email protected]>
date : Fri, 12 Apr 2013 11:42:27 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 12 Apr 2013 11:42:27 -0400
Also fix accessing pgentab binary and tar.
Gurjeet Singh
M src/tools/pgindent/pgindent
sepgsql: Enforce db_procedure:{execute} permission.
commit : f8a54e936bdf4c31b395a2ab7d7bc98eefa6dbad
author : Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:55:56 -0400
committer: Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:55:56 -0400
To do this, we add an additional object access hook type,
OAT_FUNCTION_EXECUTE.
KaiGai Kohei
M contrib/sepgsql/expected/label.out
M contrib/sepgsql/expected/misc.out
M contrib/sepgsql/hooks.c
M contrib/sepgsql/label.c
M contrib/sepgsql/proc.c
M contrib/sepgsql/sepgsql-regtest.te
M contrib/sepgsql/sepgsql.h
M contrib/sepgsql/sql/label.sql
M contrib/sepgsql/sql/misc.sql
M doc/src/sgml/sepgsql.sgml
M src/backend/catalog/objectaccess.c
M src/backend/executor/execQual.c
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/tcop/fastpath.c
M src/include/catalog/objectaccess.h
Minor wording corrections for object-access hook stuff.
commit : d017bf41a32d08885f00a274603ed2e50816fe7f
author : Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:39:38 -0400
committer: Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:39:38 -0400
KaiGai Kohei
M src/backend/catalog/objectaccess.c
M src/include/catalog/objectaccess.h
sepgql: Use getObjectIdentity rather than getObjectDescription.
commit : b620fdabba3fd3c00587fb586f74eb7dc6eca223
author : Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:35:55 -0400
committer: Robert Haas <[email protected]>
date : Fri, 12 Apr 2013 08:35:55 -0400
KaiGai Kohei, based on a suggestion from Álvaro Herrera
M contrib/sepgsql/database.c
M contrib/sepgsql/dml.c
M contrib/sepgsql/expected/alter.out
M contrib/sepgsql/expected/ddl.out
M contrib/sepgsql/proc.c
M contrib/sepgsql/relation.c
M contrib/sepgsql/schema.c
Document that git_changelog needs updating for major version stamping.
commit : be55f3b85966034028a8f162b8a6ca1deca66103
author : Bruce Momjian <[email protected]>
date : Thu, 11 Apr 2013 12:27:02 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 11 Apr 2013 12:27:02 -0400
M src/tools/RELEASE_CHANGES
Remove quotes around SQL statement in error message
commit : 6cd18a88b604ec2a9940d894f36e1bfdb22daf78
author : Alvaro Herrera <[email protected]>
date : Thu, 11 Apr 2013 12:00:09 -0300
committer: Alvaro Herrera <[email protected]>
date : Thu, 11 Apr 2013 12:00:09 -0300
M src/backend/commands/event_trigger.c
M src/test/regress/expected/event_trigger.out
Fix confusion between ObjectType and ObjectClass
commit : 6a76edb1880d99744453dd275f30e0361281caab
author : Alvaro Herrera <[email protected]>
date : Thu, 11 Apr 2013 11:59:47 -0300
committer: Alvaro Herrera <[email protected]>
date : Thu, 11 Apr 2013 11:59:47 -0300
Per report by Will Leinweber and Peter Eisentraut
M src/backend/catalog/dependency.c
M src/backend/commands/event_trigger.c
M src/include/commands/event_trigger.h
doc: Update DTrace information
commit : 82b55c9769ac1ae6146ab34b6e5fe49251e79a90
author : Peter Eisentraut <[email protected]>
date : Wed, 10 Apr 2013 23:05:13 -0400
committer: Peter Eisentraut <[email protected]>
date : Wed, 10 Apr 2013 23:05:13 -0400
The old web site link no longer worked, and some information was
outdated.
M doc/src/sgml/monitoring.sgml
Update the description for the graphical installers
commit : d334b337b41e0c2e660324af2502dc9a5a691a02
author : Magnus Hagander <[email protected]>
date : Wed, 10 Apr 2013 21:37:49 +0200
committer: Magnus Hagander <[email protected]>
date : Wed, 10 Apr 2013 21:37:49 +0200
Remove references to "one click", as we're not supposed to call
them that anymore.
M doc/src/sgml/install-windows.sgml
M doc/src/sgml/pgupgrade.sgml
Fix SIGUSR1 handling by unconnected bgworkers
commit : f62ab623adc63023c6aee22e2a6fe190439ca0c3
author : Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 16:01:16 -0300
committer: Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 16:01:16 -0300
Latch activity was not being detected by non-database-connected workers; the
SIGUSR1 signal handler which is normally in charge of that was set to SIG_IGN.
Create a simple handler to call latch_sigusr1_handler instead.
Robert Haas (bug report and suggested fix)
M src/backend/postmaster/postmaster.c
Fix SIGHUP handling by unconnected bgworkers
commit : 61a7d576f2a287ef59071da9d9d7a0cd473ed98b
author : Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 15:59:45 -0300
committer: Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 15:59:45 -0300
Add a SignalUnconnectedWorkers() call so that non-database-connected background
workers are also notified when postmaster is SIGHUPped. Previously, only
database-connected workers were.
Michael Paquier (bug report and fix)
M src/backend/postmaster/postmaster.c
Make contrib/pg_trgm also support regex searches with GiST indexes.
commit : 6f5b8beb64d481c28a483090d10099c8d619c797
author : Tom Lane <[email protected]>
date : Wed, 10 Apr 2013 13:30:14 -0400
committer: Tom Lane <[email protected]>
date : Wed, 10 Apr 2013 13:30:14 -0400
This wasn't addressed in the original patch, but it doesn't take very
much additional code to cover the case, so let's get it done.
Since pg_trgm 1.1 hasn't been released yet, I just changed the definition
of what's in it, rather than inventing a 1.2.
M contrib/pg_trgm/expected/pg_trgm.out
M contrib/pg_trgm/pg_trgm–1.0–1.1.sql
M contrib/pg_trgm/pg_trgm–1.1.sql
M contrib/pg_trgm/sql/pg_trgm.sql
M contrib/pg_trgm/trgm.h
M contrib/pg_trgm/trgm_gin.c
M contrib/pg_trgm/trgm_gist.c
M contrib/pg_trgm/trgm_op.c
M contrib/pg_trgm/trgm_regexp.c
M doc/src/sgml/pgtrgm.sgml
Make worker_spi sample code more complete
commit : e543631f3c162ab5f6020b1d0209e0353ca2229a
author : Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 13:29:25 -0300
committer: Alvaro Herrera <[email protected]>
date : Wed, 10 Apr 2013 13:29:25 -0300
Make use of some GUC variables, and add SIGHUP handling to reload
the config file. Patch submitted by Guillaume Lelarge.
Also, report to pg_stat_activity. Per report from Marc Cousin, add
setting of statement start time.
M contrib/worker_spi/worker_spi.c
Fix hstore_to_json_loose example in docs.
commit : 66c01707c6ac9ce7cc7a7e45d0892f6506f1680b
author : Andrew Dunstan <[email protected]>
date : Wed, 10 Apr 2013 09:26:46 -0400
committer: Andrew Dunstan <[email protected]>
date : Wed, 10 Apr 2013 09:26:46 -0400
Marti Raudsepp.
M doc/src/sgml/hstore.sgml
Remove duplicate initialization in XLogReadRecord.
commit : 4cff7b9dd6d39ed5f6bb3914870c7d0602f88242
author : Robert Haas <[email protected]>
date : Tue, 9 Apr 2013 23:58:02 -0400
committer: Robert Haas <[email protected]>
date : Tue, 9 Apr 2013 23:58:02 -0400
Per a note from Dickson S. Guedes.
M src/backend/access/transam/xlogreader.c
Create a distinction between a populated matview and a scannable one.
commit : 52e6e33ab495cb2b0e694ee480ba7c6394315053
author : Kevin Grittner <[email protected]>
date : Tue, 9 Apr 2013 13:02:49 -0500
committer: Kevin Grittner <[email protected]>
date : Tue, 9 Apr 2013 13:02:49 -0500
The intent was that being populated would, long term, be just one
of the conditions which could affect whether a matview was
scannable; being populated should be necessary but not always
sufficient to scan the relation. Since only CREATE and REFRESH
currently determine the scannability, names and comments
accidentally conflated these concepts, leading to confusion.
Also add missing locking for the SQL function which allows a
test for scannability, and fix a modularity violatiion.
Per complaints from Tom Lane, although its not clear that these
will satisfy his concerns. Hopefully this will at least better
frame the discussion.
M src/backend/commands/cluster.c
M src/backend/commands/createas.c
M src/backend/commands/matview.c
M src/backend/executor/execMain.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/cache/relcache.c
M src/bin/pg_dump/pg_dump.c
M src/include/commands/matview.h
M src/include/utils/rel.h
Adjust ExplainOneQuery_hook_type to take a DestReceiver argument.
commit : 0bf42a5f3b62cde41cb366d3442585429c6d9c50
author : Robert Haas <[email protected]>
date : Tue, 9 Apr 2013 10:13:38 -0400
committer: Robert Haas <[email protected]>
date : Tue, 9 Apr 2013 10:13:38 -0400
The materialized views patch adjusted ExplainOneQuery to take an
additional DestReceiver argument, but failed to add a matching
argument to the definition of ExplainOneQuery_hook. This is a
problem for users of the hook that want to call ExplainOnePlan.
Fix by adding the missing argument.
M src/backend/commands/explain.c
M src/include/commands/explain.h
Support indexing of regular-expression searches in contrib/pg_trgm.
commit : 3ccae48f44d993351e1f881761bd6c556ebd6638
author : Tom Lane <[email protected]>
date : Tue, 9 Apr 2013 01:05:55 -0400
committer: Tom Lane <[email protected]>
date : Tue, 9 Apr 2013 01:05:55 -0400
This works by extracting trigrams from the given regular expression,
in generally the same spirit as the previously-existing support for
LIKE searches, though of course the details are far more complicated.
Currently, only GIN indexes are supported. We might be able to make
it work with GiST indexes later.
The implementation includes adding API functions to backend/regex/
to provide a view of the search NFA created from a regular expression.
These functions are meant to be generic enough to be supportable in
a standalone version of the regex library, should that ever happen.
Alexander Korotkov, reviewed by Heikki Linnakangas and Tom Lane
M contrib/pg_trgm/Makefile
M contrib/pg_trgm/expected/pg_trgm.out
A contrib/pg_trgm/pg_trgm–1.0–1.1.sql
R095 contrib/pg_trgm/pg_trgm–1.0.sql contrib/pg_trgm/pg_trgm–1.1.sql
M contrib/pg_trgm/pg_trgm.control
M contrib/pg_trgm/sql/pg_trgm.sql
M contrib/pg_trgm/trgm.h
M contrib/pg_trgm/trgm_gin.c
M contrib/pg_trgm/trgm_op.c
A contrib/pg_trgm/trgm_regexp.c
M doc/src/sgml/pgtrgm.sgml
M src/backend/regex/Makefile
M src/backend/regex/README
A src/backend/regex/regexport.c
M src/backend/utils/adt/selfuncs.c
M src/include/mb/pg_wchar.h
A src/include/regex/regexport.h
Minor rewording of README comments
commit : e60d20a35e436cef3c454bfeab34d8ea71b54910
author : Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 17:20:26 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 17:20:26 +0100
M src/backend/storage/page/README
Fix calculation of how many segments to retain for wal_keep_segments.
commit : 594041311c8263832258d35632aa3eebf9371fd1
author : Heikki Linnakangas <[email protected]>
date : Mon, 8 Apr 2013 16:26:52 +0300
committer: Heikki Linnakangas <[email protected]>
date : Mon, 8 Apr 2013 16:26:52 +0300
KeepLogSeg function was broken when we switched to use a 64-bit int for the
segment number.
Per report from Jeff Janes.
M src/backend/access/transam/xlog.c
Skip extraneous locking in XLogCheckBuffer(). Heikki reported comment was wrong, so fixed code to match the comment: we only need to take additional locking precautions when we have a shared lock on the buffer.
commit : 5787c6730e7a848ef95d5c4194e27614ea8e6e41
author : Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 09:11:49 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 09:11:49 +0100
M src/backend/access/transam/xlog.c
Avoid tricky race condition recording XLOG_HINT We copy the buffer before inserting an XLOG_HINT to avoid WAL CRC errors caused by concurrent hint writes to buffer while share locked. To make this work we refactor RestoreBackupBlock() to allow an XLOG_HINT to avoid the normal path for backup blocks, which assumes the underlying buffer is exclusive locked. Resulting code completely changes layout of XLOG_HINT WAL records, but this isn't even beta code, so this is a low impact change. In passing, avoid taking WALInsertLock for full page writes on checksummed hints, remove related cruft from XLogInsert() and improve xlog_desc record for XLOG_HINT.
commit : 47c4333189c9eb5ac1f95adc90213e61996f53c4
author : Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 08:52:39 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 08:52:39 +0100
Andres Freund
Bug report by Fujii Masao, testing by Jeff Janes and Jaime Casanova,
review by Jeff Davis and Simon Riggs. Applied with changes from review
and some comment editing.
M src/backend/access/rmgrdesc/xlogdesc.c
M src/backend/access/transam/xlog.c
M src/backend/storage/buffer/bufmgr.c
M src/include/catalog/catversion.h
README comments on checksums on page holes.
commit : a4b94b85156192b839a3c840f8aaf0cf8699a8c8
author : Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 08:42:52 +0100
committer: Simon Riggs <[email protected]>
date : Mon, 8 Apr 2013 08:42:52 +0100
M src/backend/storage/page/README
Tune BufferGetLSNAtomic() when checksums !enabled
commit : 1be203519ac4da238bf6dfe8f7015d5780723e0f
author : Simon Riggs <[email protected]>
date : Sun, 7 Apr 2013 22:37:39 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 7 Apr 2013 22:37:39 +0100
From performance analysis by Heikki Linnakangas
M src/backend/storage/buffer/bufmgr.c
Fix checksums for CLUSTER, VACUUM FULL etc. In CLUSTER, VACUUM FULL and ALTER TABLE SET TABLESPACE I erroneously set checksum before log_newpage, which sets the LSN and invalidates the checksum. So set checksum immediately *after* log_newpage.
commit : cf8dc9e10c0d954970cbe5ca9be4c6b881cde482
author : Simon Riggs <[email protected]>
date : Sun, 7 Apr 2013 22:16:51 +0100
committer: Simon Riggs <[email protected]>
date : Sun, 7 Apr 2013 22:16:51 +0100
Bug report Fujii Masao, Fix and patch by Jeff Davis
M src/backend/access/heap/rewriteheap.c
M src/backend/commands/tablecmds.c
Get rid of USE_WIDE_UPPER_LOWER dependency in trigram construction.
commit : 7844608e54a3a2e3dee461b00fd6ef028a845d7c
author : Tom Lane <[email protected]>
date : Sun, 7 Apr 2013 14:45:33 -0400
committer: Tom Lane <[email protected]>
date : Sun, 7 Apr 2013 14:45:33 -0400
contrib/pg_trgm's make_trigrams() was coded to ignore multibyte character
boundaries and just make trigrams from bytes if USE_WIDE_UPPER_LOWER wasn't
defined. This is a bit odd, since there's no obvious reason why trigram
compaction rules should depend on the presence of towlower() and friends.
What's more, there was an Assert() that would fail if that code path was
fed any multibyte characters.
We need to do something about this since the pending regex-indexing patch
has an assumption that you get just one "trgm" from any three characters.
The best solution seems to be to remove the USE_WIDE_UPPER_LOWER
dependency, which shouldn't really have been there in the first place.
The second loop in make_trigrams() is now just a fast path and not a
potentially incompatible algorithm.
If there is anybody still using Postgres on machines without wcstombs() or
towlower(), and they have non-ASCII data indexed by pg_trgm, they'll need
to REINDEX those indexes after pg_upgrade to 9.3, else searches may fail
incorrectly. It seems likely that there are no such installations, though.
In passing, rename cnt_trigram to compact_trigram, which seems to better
describe its functionality, and improve make_trigrams' test for whether it
has to use the slow path or not (per a suggestion from Alexander Korotkov).
M contrib/pg_trgm/trgm_op.c
In isolationtester, retry after EINTR return from select(2).
commit : faf4726c9fd5748ad25dbce55a7d31deeabe9866
author : Tom Lane <[email protected]>
date : Sat, 6 Apr 2013 22:28:49 -0400
committer: Tom Lane <[email protected]>
date : Sat, 6 Apr 2013 22:28:49 -0400
Per report from Jaime Casanova. Very curious that no one else has seen
this failure ... but the code is clearly wrong as-is.
M src/test/isolation/isolationtester.c
sepgsql: Enforce db_schema:search permission.
commit : e965e6344cfaff0708a032721b56f61eea777bc5
author : Robert Haas <[email protected]>
date : Fri, 5 Apr 2013 08:51:31 -0400
committer: Robert Haas <[email protected]>
date : Fri, 5 Apr 2013 08:51:31 -0400
KaiGai Kohei, with comment and doc wordsmithing by me
M contrib/sepgsql/expected/alter.out
M contrib/sepgsql/expected/ddl.out
M contrib/sepgsql/expected/dml.out
M contrib/sepgsql/hooks.c
M contrib/sepgsql/schema.c
M contrib/sepgsql/sepgsql-regtest.te
M contrib/sepgsql/sepgsql.h
M contrib/sepgsql/sql/dml.sql
M doc/src/sgml/sepgsql.sgml
M src/backend/catalog/namespace.c
M src/backend/catalog/objectaccess.c
M src/backend/tcop/fastpath.c
M src/include/catalog/objectaccess.h
Improve documentation about the relationship of extensions and schemas.
commit : 52f436b807b0d02203ea6be19bafa56e4e1381e8
author : Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 22:37:25 -0400
committer: Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 22:37:25 -0400
There's been some confusion expressed about this point, so clarify.
Extended version of a patch by David Wheeler.
M doc/src/sgml/extend.sgml
M doc/src/sgml/ref/create_extension.sgml
doc: Fix number of columns in table
commit : e3f719c3671c293bf9e1a7293c7bd5eb6d9a2611
author : Peter Eisentraut <[email protected]>
date : Thu, 4 Apr 2013 21:07:05 -0400
committer: Peter Eisentraut <[email protected]>
date : Thu, 4 Apr 2013 21:07:05 -0400
M doc/src/sgml/event-trigger.sgml
Fix line count in slashUsage().
commit : 927e1dc96ce3eb4a618fd7b67f69eec72b56d850
author : Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 20:29:46 -0400
committer: Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 20:29:46 -0400
Counting newlines shows that quite a few recent patches have neglected
to update the output-lines count given to PageOutput(). Fortunately
it's not terribly critical that this be exact, since we long since
exceeded the height of most people's terminal windows. Still, maybe
we ought to think of a way to not have to maintain this manually anymore.
M src/bin/psql/help.c
Add \watch [SEC] command to psql.
commit : c6a3fce7dd4dae6e1a005e5b09cdd7c1d7f9c4f4
author : Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 19:56:33 -0400
committer: Tom Lane <[email protected]>
date : Thu, 4 Apr 2013 19:56:33 -0400
This allows convenient re-execution of commands.
Will Leinweber, reviewed by Peter Eisentraut, Daniel Farina, and Tom Lane
M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/command.c
M src/bin/psql/help.c
M src/bin/psql/tab-complete.c
Fix off by one error in JSON extract path code.
commit : e75feb28341ea49e9d41266906e701a4e3742e2e
author : Andrew Dunstan <[email protected]>
date : Thu, 4 Apr 2013 18:26:52 -0400
committer: Andrew Dunstan <[email protected]>
date : Thu, 4 Apr 2013 18:26:52 -0400
Bug report by David Wheeler, diagnosis assistance from Tom Lane.
M src/backend/utils/adt/jsonfuncs.c
psql: fix startup crash caused by PSQLRC containing a tilde
commit : 48a2cd370e2610f0a196240aed9f5abd82d3dada
author : Bruce Momjian <[email protected]>
date : Thu, 4 Apr 2013 12:56:21 -0400
committer: Bruce Momjian <[email protected]>
date : Thu, 4 Apr 2013 12:56:21 -0400
'strdup' the PSQLRC environment variable value before calling a routine
that might free() it.
Backpatch to 9.2, where the bug first appeared.
M src/bin/psql/common.c
M src/bin/psql/common.h
M src/bin/psql/startup.c
Fix crash on compiling a regular expression with more than 32k colors.
commit : bf2b0a147857f63daa2e5c17eed0169861371af8
author : Heikki Linnakangas <[email protected]>
date : Thu, 4 Apr 2013 19:04:57 +0300
committer: Heikki Linnakangas <[email protected]>
date : Thu, 4 Apr 2013 19:04:57 +0300
Throw an error instead.
Backpatch to all supported branches.
M src/backend/regex/regc_color.c
M src/include/regex/regerrs.h
M src/include/regex/regex.h
M src/include/regex/regguts.h
Fix a few thinkos in the JSON functions docs.
commit : d7d5832012ae5174707643af1a450d26d3350719
author : Andrew Dunstan <[email protected]>
date : Thu, 4 Apr 2013 10:41:29 -0400
committer: Andrew Dunstan <[email protected]>
date : Thu, 4 Apr 2013 10:41:29 -0400
Dickson S. Guedes
M doc/src/sgml/func.sgml
Calculate # of semaphores correctly with --disable-spinlocks.
commit : b8ed4cc9627de437e5eafdb81631a0d0f063abb3
author : Heikki Linnakangas <[email protected]>
date : Thu, 4 Apr 2013 16:31:44 +0300
committer: Heikki Linnakangas <[email protected]>
date : Thu, 4 Apr 2013 16:31:44 +0300
The old formula didn't take into account that each WAL sender process needs
a spinlock. We had also already exceeded the fixed number of spinlocks
reserved for misc purposes (10). Bump that to 30.
Backpatch to 9.0, where WAL senders were introduced. If I counted correctly,
9.0 had exactly 10 predefined spinlocks, and 9.1 exceeded that, but bump the
limit in 9.0 too because 10 is uncomfortably close to the edge.
M src/backend/storage/lmgr/spin.c
Avoid updating our PgBackendStatus entry when track_activities is off.
commit : f7b0006f42913b6d641c9f0bef6fad1f670b9194
author : Tom Lane <[email protected]>
date : Wed, 3 Apr 2013 14:13:28 -0400
committer: Tom Lane <[email protected]>
date : Wed, 3 Apr 2013 14:13:28 -0400
The point of turning off track_activities is to avoid this reporting
overhead, but a thinko in commit 4f42b546fd87a80be30c53a0f2c897acb826ad52
caused pgstat_report_activity() to perform half of its updates anyway.
Fix that, and also make sure that we clear all the now-disabled fields
when transitioning to the non-reporting state.
M src/backend/postmaster/pgstat.c
M src/backend/utils/adt/pgstatfuncs.c
Fix typo in FDW docs.
commit : 0f1345d38b4d7b35175d4f4be322da0aa6d6aaeb
author : Tom Lane <[email protected]>
date : Wed, 3 Apr 2013 10:26:18 -0400
committer: Tom Lane <[email protected]>
date : Wed, 3 Apr 2013 10:26:18 -0400
Laurenz Albe
M doc/src/sgml/fdwhandler.sgml
Minor robustness improvements for isolationtester.
commit : 845d335a90b684dd51e80a6470ebb923a59a1f91
author : Tom Lane <[email protected]>
date : Tue, 2 Apr 2013 21:15:37 -0400
committer: Tom Lane <[email protected]>
date : Tue, 2 Apr 2013 21:15:37 -0400
Notice and complain about PQcancel() failures. Also, don't dump core if
an error PGresult doesn't contain severity and message subfields, as it
might not if it was generated by libpq itself. (We have a longstanding
TODO item to improve that, but in the meantime isolationtester had better
cope.)
I tripped across the latter item while investigating a trouble report on
buildfarm member spoonbill. As for the former, there's no evidence that
PQcancel failure is actually involved in spoonbill's problem, but it still
seems like a bad idea to ignore an error return code.
M src/test/isolation/isolationtester.c
Update release notes for 9.2.4, 9.1.9, 9.0.13, 8.4.17.
commit : 89b661bab99e8573fad271f68755ba286932dec2
author : Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 14:11:11 -0400
committer: Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 14:11:11 -0400
Security: CVE-2013-1899, CVE-2013-1901
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release-9.1.sgml
M doc/src/sgml/release-9.2.sgml
Fix insecure parsing of server command-line switches.
commit : 17fe2793ea7fe269ed616cb305150b6cf38dbaa8
author : Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 14:00:51 -0400
committer: Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 14:00:51 -0400
An oversight in commit e710b65c1c56ca7b91f662c63d37ff2e72862a94 allowed
database names beginning with "-" to be treated as though they were secure
command-line switches; and this switch processing occurs before client
authentication, so that even an unprivileged remote attacker could exploit
the bug, needing only connectivity to the postmaster's port. Assorted
exploits for this are possible, some requiring a valid database login,
some not. The worst known problem is that the "-r" switch can be invoked
to redirect the process's stderr output, so that subsequent error messages
will be appended to any file the server can write. This can for example be
used to corrupt the server's configuration files, so that it will fail when
next restarted. Complete destruction of database tables is also possible.
Fix by keeping the database name extracted from a startup packet fully
separate from command-line switches, as had already been done with the
user name field.
The Postgres project thanks Mitsumasa Kondo for discovering this bug,
Kyotaro Horiguchi for drafting the fix, and Noah Misch for recognizing
the full extent of the danger.
Security: CVE-2013-1899
M src/backend/main/main.c
M src/backend/postmaster/postmaster.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/include/tcop/tcopprot.h
Make REPLICATION privilege checks test current user not authenticated user.
commit : ce9ab88981495d975aade8fc664f99f68fc18e2b
author : Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 13:09:24 -0400
committer: Tom Lane <[email protected]>
date : Mon, 1 Apr 2013 13:09:24 -0400
The pg_start_backup() and pg_stop_backup() functions checked the privileges
of the initially-authenticated user rather than the current user, which is
wrong. For example, a user-defined index function could successfully call
these functions when executed by ANALYZE within autovacuum. This could
allow an attacker with valid but low-privilege database access to interfere
with creation of routine backups. Reported and fixed by Noah Misch.
Security: CVE-2013-1901
M src/backend/access/transam/xlog.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/include/miscadmin.h
Revert "ecpg: Don't link compatlib with libpq"
commit : 85079078acb4f120335f54f38f93635dd8c8b83d
author : Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 23:50:51 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 23:50:51 -0400
This reverts commit 3780fc679cc428c1f211e1728c4281ca15e9746b.
HP-UX didn't like it. There would probably be a way to fix that, but
since the net effect of all of this is zero because ecpg ends up using
libpq anyway, it's not worth bothering further.
M src/interfaces/ecpg/compatlib/Makefile
Update release notes for changes through today.
commit : e48a7bd527481556f7068832331ef6b00805920b
author : Tom Lane <[email protected]>
date : Sun, 31 Mar 2013 18:59:35 -0400
committer: Tom Lane <[email protected]>
date : Sun, 31 Mar 2013 18:59:35 -0400
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release-9.1.sgml
M doc/src/sgml/release-9.2.sgml
Ignore extra subquery outputs in set_subquery_size_estimates().
commit : d931ac0ec4c25b61f480562a13f1974f913afd59
author : Tom Lane <[email protected]>
date : Sun, 31 Mar 2013 18:32:54 -0400
committer: Tom Lane <[email protected]>
date : Sun, 31 Mar 2013 18:32:54 -0400
In commit 0f61d4dd1b4f95832dcd81c9688dac56fd6b5687, I added code to copy up
column width estimates for each column of a subquery. That code supposed
that the subquery couldn't have any output columns that didn't correspond
to known columns of the current query level --- which is true when a query
is parsed from scratch, but the assumption fails when planning a view that
depends on another view that's been redefined (adding output columns) since
the upper view was made. This results in an assertion failure or even a
crash, as per bug #8025 from lindebg. Remove the Assert and instead skip
the column if its resno is out of the expected range.
M src/backend/optimizer/path/costsize.c
Add pkg-config files for libpq and ecpg libraries
commit : 64f890905f3a5186bc4df980c8becfda5c39c2ea
author : Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 16:58:40 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 16:58:40 -0400
This will hopefully be easier to use than pg_config for users who are
already used to the pkg-config interface. It also works better for
multi-arch installations.
reviewed by Tom Lane
M .gitignore
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/libpq.sgml
M src/Makefile.shlib
M src/interfaces/ecpg/compatlib/Makefile
M src/interfaces/ecpg/ecpglib/Makefile
ecpg: Don't link compatlib with libpq
commit : 3780fc679cc428c1f211e1728c4281ca15e9746b
author : Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 16:51:00 -0400
committer: Peter Eisentraut <[email protected]>
date : Sun, 31 Mar 2013 16:51:00 -0400
It doesn't actually use libpq. But we need to keep libpq in the
CPPFLAGS for building, because compatlib uses ecpglib.h which uses
libpq-fe.h, but we don't need to refer to libpq for linking.
reviewed by Tom Lane
M src/interfaces/ecpg/compatlib/Makefile
pg_upgrade: don't copy/link files for invalid indexes
commit : 203d8ae2db4cf255b94520fdc1521b5f96778596
author : Bruce Momjian <[email protected]>
date : Sat, 30 Mar 2013 22:20:53 -0400
committer: Bruce Momjian <[email protected]>
date : Sat, 30 Mar 2013 22:20:53 -0400
Now that pg_dump no longer dumps invalid indexes, per commit
683abc73dff549e94555d4020dae8d02f32ed78b, have pg_upgrade also skip
them. Previously pg_upgrade threw an error if invalid indexes existed.
Backpatch to 9.2, 9.1, and 9.0 (where pg_upgrade was added to git)
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/info.c
Improve code documentation about "magnetic disk" storage manager.
commit : 22f7b9613e5a60bc3daca35f87f546baa9fd934c
author : Tom Lane <[email protected]>
date : Sat, 30 Mar 2013 14:23:45 -0400
committer: Tom Lane <[email protected]>
date : Sat, 30 Mar 2013 14:23:45 -0400
The modern incarnation of md.c is by no means specific to magnetic disk
technology, but every so often we hear from someone who's misled by the
label. Try to clarify that it will work for anything that supports
standard filesystem operations. Per suggestion from Andrew Dunstan.
M src/backend/storage/smgr/README
M src/backend/storage/smgr/md.c
Avoid moving data directory in upgrade testing.
commit : 67eb3e5075b52bb9d91dc3bd9358ac1da2ded5fc
author : Andrew Dunstan <[email protected]>
date : Sat, 30 Mar 2013 12:44:29 -0400
committer: Andrew Dunstan <[email protected]>
date : Sat, 30 Mar 2013 12:44:29 -0400
Windows sometimes gets upset if we rename a large directory and then try
to use the old name quickly, as seen in occasional buildfarm failures.
So we avoid that by building the old version in the intended
destination in the first place instead of renaming it, similar to the
change made for the same reason in commit b7f8465c.
M contrib/pg_upgrade/test.sh
Remove tab from SGML file.
commit : b015558091075a898a8348934f1d36386d87f5e5
author : Bruce Momjian <[email protected]>
date : Fri, 29 Mar 2013 23:19:03 -0400
committer: Bruce Momjian <[email protected]>
date : Fri, 29 Mar 2013 23:19:03 -0400
M doc/src/sgml/func.sgml
ecpg: Parallel make fix
commit : 602070f9cce790debd8d1469254e7726ab499ae7
author : Peter Eisentraut <[email protected]>
date : Fri, 29 Mar 2013 21:39:55 -0400
committer: Peter Eisentraut <[email protected]>
date : Fri, 29 Mar 2013 21:39:55 -0400
In some parallel make situations, the install-headers target could be
called before the installation directories are created by installdirs,
causing the installation to fail. Fix that by making install-headers
depend on installdirs.
M src/interfaces/ecpg/include/Makefile
Fix page title for JSON Functions and Operators.
commit : 6caf759f3f34eb496f4a92c3db9d3289299066b9
author : Andrew Dunstan <[email protected]>
date : Fri, 29 Mar 2013 16:56:22 -0400
committer: Andrew Dunstan <[email protected]>
date : Fri, 29 Mar 2013 16:56:22 -0400
M doc/src/sgml/func.sgml
Add new JSON processing functions and parser API.
commit : a570c98d7fa0841f17bbf51d62d02d9e493c7fcc
author : Andrew Dunstan <[email protected]>
date : Fri, 29 Mar 2013 14:12:13 -0400
committer: Andrew Dunstan <[email protected]>
date : Fri, 29 Mar 2013 14:12:13 -0400
The JSON parser is converted into a recursive descent parser, and
exposed for use by other modules such as extensions. The API provides
hooks for all the significant parser event such as the beginning and end
of objects and arrays, and providing functions to handle these hooks
allows for fairly simple construction of a wide variety of JSON
processing functions. A set of new basic processing functions and
operators is also added, which use this API, including operations to
extract array elements, object fields, get the length of arrays and the
set of keys of a field, deconstruct an object into a set of key/value
pairs, and create records from JSON objects and arrays of objects.
Catalog version bumped.
Andrew Dunstan, with some documentation assistance from Merlin Moncure.
M doc/src/sgml/func.sgml
M src/backend/catalog/system_views.sql
M src/backend/utils/adt/Makefile
M src/backend/utils/adt/json.c
A src/backend/utils/adt/jsonfuncs.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_operator.h
M src/include/catalog/pg_proc.h
M src/include/utils/json.h
A src/include/utils/jsonapi.h
M src/test/regress/expected/json.out
M src/test/regress/sql/json.sql
Document encode(bytea, 'escape')'s behavior correctly.
commit : 9ad27c215362df436f8c16f1aace923011f31be4
author : Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 23:14:54 -0400
committer: Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 23:14:54 -0400
I changed this in commit fd15dba543247eb1ce879d22632b9fdb4c230831, but
missed the fact that the SGML documentation of the function specified
exactly what it did. Well, one of the two places where it's specified
documented that --- probably I looked at the other place and thought
nothing needed to be done. Sync the two places where encode() and
decode() are described.
M doc/src/sgml/func.sgml
Must check indisready not just indisvalid when dumping from 9.2 server.
commit : aa02864f64c46807f7682a41882fe40f7f5cb819
author : Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 22:09:12 -0400
committer: Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 22:09:12 -0400
9.2 uses a kluge representation of "indislive"; we have to account for
that when examining pg_index. Simplest solution is to check indisready
for 9.0 and 9.1 as well; that's harmless though unnecessary, so it's
not worth making a version distinction for.
Fixes oversight in commit 683abc73dff549e94555d4020dae8d02f32ed78b,
as noted by Andres Freund.
M src/bin/pg_dump/pg_dump.c
Draft release notes for 9.2.4, 9.1.9, 9.0.13, 8.4.17.
commit : 29505a894e1ece60bf42a2756ae99c9e44b5ae6a
author : Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 21:40:19 -0400
committer: Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 21:40:19 -0400
Covers commits through today. Not back-patching into back branches
yet, since this is just for people to review in advance.
M doc/src/sgml/release-8.4.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release-9.1.sgml
M doc/src/sgml/release-9.2.sgml
sepgsql: Documentation improvements.
commit : 2a3db8cec24d0c95136b74b305bf1f1e41615a4d
author : Robert Haas <[email protected]>
date : Thu, 28 Mar 2013 15:55:44 -0400
committer: Robert Haas <[email protected]>
date : Thu, 28 Mar 2013 15:55:44 -0400
Fixes by me, per griping by Thom Brown.
M doc/src/sgml/sepgsql.sgml
Allow sepgsql labels to depend on object name.
commit : 0f05840bf4c256b838eca8f1be9d7b5be82ccd0e
author : Robert Haas <[email protected]>
date : Thu, 28 Mar 2013 15:38:35 -0400
committer: Robert Haas <[email protected]>
date : Thu, 28 Mar 2013 15:38:35 -0400
The main change here is to call security_compute_create_name_raw()
rather than security_compute_create_raw(). This ups the minimum
requirement for libselinux from 2.0.99 to 2.1.10, but it looks
like most distributions will have picked that up before 9.3 is out.
KaiGai Kohei
M configure
M configure.in
M contrib/sepgsql/database.c
M contrib/sepgsql/expected/label.out
M contrib/sepgsql/proc.c
M contrib/sepgsql/relation.c
M contrib/sepgsql/schema.c
M contrib/sepgsql/selinux.c
M contrib/sepgsql/sepgsql-regtest.te
M contrib/sepgsql/sepgsql.h
M contrib/sepgsql/sql/label.sql
M contrib/sepgsql/uavc.c
M doc/src/sgml/sepgsql.sgml
Update time zone data files to tzdata release 2013b.
commit : ae7f1c3ef2eef9584e3c9a42c395eb0c0e59a5ed
author : Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 15:25:48 -0400
committer: Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 15:25:48 -0400
DST law changes in Chile, Haiti, Morocco, Paraguay, some Russian areas.
Historical corrections for numerous places.
M src/timezone/data/africa
M src/timezone/data/antarctica
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/europe
M src/timezone/data/northamerica
M src/timezone/data/southamerica
M src/timezone/data/zone.tab
Avoid "variable might be clobbered by longjmp" warning.
commit : 58bc48179b3cad0793ae20b002d60289c8bf0b9b
author : Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 13:19:49 -0400
committer: Tom Lane <[email protected]>
date : Thu, 28 Mar 2013 13:19:49 -0400
On older-model gcc, the original coding of UTILITY_BEGIN_QUERY() can
draw this error because of multiple assignments to _needCleanup.
Rather than mark that variable volatile, we can suppress the warning
by arranging to have just one unconditional assignment before PG_TRY.
M src/backend/tcop/utility.c
Add sql_drop event for event triggers
commit : 473ab40c8bb3fcb1a7645f6a7443a0424d70fbaf
author : Alvaro Herrera <[email protected]>
date : Wed, 27 Mar 2013 16:02:10 -0300
committer: Alvaro Herrera <[email protected]>
date : Wed, 27 Mar 2013 16:02:10 -0300
This event takes place just before ddl_command_end, and is fired if and
only if at least one object has been dropped by the command. (For
instance, DROP TABLE IF EXISTS of a table that does not in fact exist
will not lead to such a trigger firing). Commands that drop multiple
objects (such as DROP SCHEMA or DROP OWNED BY) will cause a single event
to fire. Some firings might be surprising, such as
ALTER TABLE DROP COLUMN.
The trigger is fired after the drop has taken place, because that has
been deemed the safest design, to avoid exposing possibly-inconsistent
internal state (system catalogs as well as current transaction) to the
user function code. This means that careful tracking of object
identification is required during the object removal phase.
Like other currently existing events, there is support for tag
filtering.
To support the new event, add a new pg_event_trigger_dropped_objects()
set-returning function, which returns a set of rows comprising the
objects affected by the command. This is to be used within the user
function code, and is mostly modelled after the recently introduced
pg_identify_object() function.
Catalog version bumped due to the new function.
Dimitri Fontaine and Álvaro Herrera
Review by Robert Haas, Tom Lane
M doc/src/sgml/event-trigger.sgml
M doc/src/sgml/func.sgml
M src/backend/catalog/dependency.c
M src/backend/commands/event_trigger.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/backend/utils/adt/regproc.c
M src/backend/utils/cache/evtcache.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/commands/event_trigger.h
M src/include/utils/builtins.h
M src/include/utils/evtcache.h
M src/test/regress/expected/event_trigger.out
M src/test/regress/sql/event_trigger.sql
Revoke bc5334d8679c428a709d150666b288171795bd76
commit : 593c39d156fd13e07dbfc43e63b53a3e89e82aa4
author : Simon Riggs <[email protected]>
date : Thu, 28 Mar 2013 09:18:02 +0000
committer: Simon Riggs <[email protected]>
date : Thu, 28 Mar 2013 09:18:02 +0000
M doc/src/sgml/config.sgml
M src/backend/access/transam/xlog.c
M src/backend/utils/init/globals.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/misc/guc.c
M src/include/miscadmin.h
M src/include/utils/guc.h
Revoke 7a5a59d378e052618d6feae64d1d2b4f2ad6f9bc
commit : d139a5e26b0d1123d77c403e2e95feaf77634a40
author : Simon Riggs <[email protected]>
date : Thu, 28 Mar 2013 09:12:55 +0000
committer: Simon Riggs <[email protected]>
date : Thu, 28 Mar 2013 09:12:55 +0000
M src/backend/utils/misc/guc.c
Reset OpenSSL randomness state in each postmaster child process.
commit : 0d1ecd6300191a450978ca2fcd12bbbb7c5e65e6
author : Tom Lane <[email protected]>
date : Wed, 27 Mar 2013 18:50:21 -0400
committer: Tom Lane <[email protected]>
date : Wed, 27 Mar 2013 18:50:21 -0400
Previously, if the postmaster initialized OpenSSL's PRNG (which it will do
when ssl=on in postgresql.conf), the same pseudo-random state would be
inherited by each forked child process. The problem is masked to a
considerable extent if the incoming connection uses SSL encryption, but
when it does not, identical pseudo-random state is made available to
functions like contrib/pgcrypto. The process's PID does get mixed into any
requested random output, but on most systems that still only results in 32K
or so distinct random sequences available across all Postgres sessions.
This might allow an attacker who has database access to guess the results
of "secure" operations happening in another session.
To fix, forcibly reset the PRNG after fork(). Each child process that has
need for random numbers from OpenSSL's generator will thereby be forced to
go through OpenSSL's normal initialization sequence, which should provide
much greater variability of the sequences. There are other ways we might
do this that would be slightly cheaper, but this approach seems the most
future-proof against SSL-related code changes.
This has been assigned CVE-2013-1900, but since the issue and the patch
have already been publicized on pgsql-hackers, there's no point in trying
to hide this commit.
Back-patch to all supported branches.
Marko Kreen
M src/backend/postmaster/fork_process.c
Fix pasto which broke docs build.
commit : 40e873d854cae046df941d162c3cbcefd00b3915
author : Kevin Grittner <[email protected]>
date : Wed, 27 Mar 2013 16:11:46 -0500
committer: Kevin Grittner <[email protected]>
date : Wed, 27 Mar 2013 16:11:46 -0500
Commit bc5334d8679c428a709d150666b288171795bd76 accidentally
included a second <variablelist> tag for a new list item.
M doc/src/sgml/config.sgml
Fix buffer pin leak in heap update redo routine.
commit : 3cfb572dde2095df1bfc6665862dcf8ee0a95b99
author : Heikki Linnakangas <[email protected]>
date : Wed, 27 Mar 2013 21:51:27 +0200
committer: Heikki Linnakangas <[email protected]>
date : Wed, 27 Mar 2013 21:51:27 +0200
In a heap update, if the old and new tuple were on different pages, and the
new page no longer existed (because it was subsequently truncated away by
vacuum), heap_xlog_update forgot to release the pin on the old buffer. This
bug was introduced by the "Fix multiple problems in WAL replay" patch,
commit 3bbf668de9f1bc172371681e80a4e769b6d014c8 (on master branch).
With full_page_writes=off, this triggered an "incorrect local pin count"
error later in replay, if the old page was vacuumed.
This fixes bug #7969, reported by Yunong Xiao. Backpatch to 9.0, like the
commit that introduced this bug.
M src/backend/access/heap/heapam.c
Set recovery_config_directory for EXEC_BACKEND. Remove comment questioning whether this is necessary for DataDir. From buildfarm failures on Windows.
commit : 7a5a59d378e052618d6feae64d1d2b4f2ad6f9bc
author : Simon Riggs <[email protected]>
date : Wed, 27 Mar 2013 16:35:38 +0000
committer: Simon Riggs <[email protected]>
date : Wed, 27 Mar 2013 16:35:38 +0000
M src/backend/utils/misc/guc.c
Move some pg_dump function around.
commit : 7800a71291690dcc34eb3b7aab18750b5a7ebe2c
author : Heikki Linnakangas <[email protected]>
date : Wed, 27 Mar 2013 18:10:40 +0200
committer: Heikki Linnakangas <[email protected]>
date : Wed, 27 Mar 2013 18:10:40 +0200
Move functions used only by pg_dump and pg_restore from dumputils.c to a new
file, pg_backup_utils.c. dumputils.c is linked into psql and some programs
in bin/scripts, so it seems good to keep it slim. The parallel functionality
is moved to parallel.c, as is exit_horribly, because the interesting code in
exit_horribly is parallel-related.
This refactoring gets rid of the on_exit_msg_func function pointer. It was
problematic, because a modern gcc version with -Wmissing-format-attribute
complained if it wasn't marked with PF_PRINTF_ATTRIBUTE, but the ancient gcc
version that Tom Lane's old HP-UX box has didn't accept that attribute on a
function pointer, and gave an error. We still use a similar function pointer
trick for getLocalPQBuffer() function, to use a thread-local version of that
in parallel mode on Windows, but that dodges the problem because it doesn't
take printf-like arguments.
M src/bin/pg_dump/Makefile
M src/bin/pg_dump/common.c
M src/bin/pg_dump/compress_io.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/parallel.c
M src/bin/pg_dump/parallel.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_custom.c
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_backup_directory.c
M src/bin/pg_dump/pg_backup_null.c
M src/bin/pg_dump/pg_backup_tar.c
A src/bin/pg_dump/pg_backup_utils.c
A src/bin/pg_dump/pg_backup_utils.h
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump_sort.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/pg_dump/pg_restore.c
sepgsql: Support for new post-ALTER access hook.
commit : 1cea9bbb21e9e90dc7085ce605d9160e7161fa58
author : Robert Haas <[email protected]>
date : Wed, 27 Mar 2013 08:10:14 -0400
committer: Robert Haas <[email protected]>
date : Wed, 27 Mar 2013 08:10:14 -0400
KaiGai Kohei
M contrib/sepgsql/database.c
A contrib/sepgsql/expected/alter.out
M contrib/sepgsql/expected/ddl.out
M contrib/sepgsql/hooks.c
M contrib/sepgsql/proc.c
M contrib/sepgsql/relation.c
M contrib/sepgsql/schema.c
M contrib/sepgsql/sepgsql.h
A contrib/sepgsql/sql/alter.sql
M contrib/sepgsql/sql/ddl.sql
M contrib/sepgsql/test_sepgsql
M doc/src/sgml/sepgsql.sgml
Allow external recovery_config_directory If required, recovery.conf can now be located outside of the data directory. Server needs read/write permissions on this directory.
commit : bc5334d8679c428a709d150666b288171795bd76
author : Simon Riggs <[email protected]>
date : Wed, 27 Mar 2013 11:45:42 +0000
committer: Simon Riggs <[email protected]>
date : Wed, 27 Mar 2013 11:45:42 +0000
M doc/src/sgml/config.sgml
M src/backend/access/transam/xlog.c
M src/backend/utils/init/globals.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/misc/guc.c
M src/include/miscadmin.h
M src/include/utils/guc.h
Fix grammatical errors in some new message strings.
commit : f7f210b5c4c9c76e87fffc5abef7dea752d1ac9a
author : Tom Lane <[email protected]>
date : Tue, 26 Mar 2013 17:52:00 -0400
committer: Tom Lane <[email protected]>
date : Tue, 26 Mar 2013 17:52:00 -0400
Daniele Varrazzo
M src/backend/access/transam/multixact.c
Ignore invalid indexes in pg_dump.
commit : 683abc73dff549e94555d4020dae8d02f32ed78b
author : Tom Lane <[email protected]>
date : Tue, 26 Mar 2013 17:43:19 -0400
committer: Tom Lane <[email protected]>
date : Tue, 26 Mar 2013 17:43:19 -0400
Dumping invalid indexes can cause problems at restore time, for example
if the reason the index creation failed was because it tried to enforce
a uniqueness condition not satisfied by the table's data. Also, if the
index creation is in fact still in progress, it seems reasonable to
consider it to be an uncommitted DDL change, which pg_dump wouldn't be
expected to dump anyway.
Back-patch to all active versions, and teach them to ignore invalid
indexes in servers back to 8.2, where the concept was introduced.
Michael Paquier
M src/bin/pg_dump/pg_dump.c
Fix pg_dump against 9.1/9.2 servers.
commit : 625b237f79ec59369e6083f041649adf4fdc1080
author : Heikki Linnakangas <[email protected]>
date : Tue, 26 Mar 2013 15:43:19 +0200
committer: Heikki Linnakangas <[email protected]>
date : Tue, 26 Mar 2013 15:43:19 +0200
The parallel pg_dump patch forgot to add relpages column to 9.1/9.2 version
of the getTables() query.
Reported by Bernd Helmle.
M src/bin/pg_dump/pg_dump.c
Get rid of obsolete parse_version helper function.
commit : 901b89e37bb8e71224ee76987679010ff3c93c05
author : Heikki Linnakangas <[email protected]>
date : Tue, 26 Mar 2013 15:21:57 +0200
committer: Heikki Linnakangas <[email protected]>
date : Tue, 26 Mar 2013 15:21:57 +0200
For getting the server's version in numeric form, use PQserverVersion().
It does the exact same parsing as dumputils.c's parse_version(), and has
been around in libpq for a long time. For the client's version, just use
the PG_VERSION_NUM constant.
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/psql/command.c
Fix a small logic bug in adjusted parallel restore code.
commit : ec143f94051779bb5d07419723529b4cc4fcce95
author : Andrew Dunstan <[email protected]>
date : Mon, 25 Mar 2013 22:52:28 -0400
committer: Andrew Dunstan <[email protected]>
date : Mon, 25 Mar 2013 22:52:28 -0400
M src/bin/pg_dump/pg_backup_archiver.c
In base backup, only include our own tablespace version directory.
commit : 28ba260906c87ffbda42f93d867191f491025a04
author : Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 20:19:22 +0200
committer: Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 20:19:22 +0200
If you have clusters of different versions pointing to the same tablespace
location, we would incorrectly include all the data belonging to the other
versions, too.
Fixes bug #7986, reported by Sergey Burladyan.
M src/backend/replication/basebackup.c
Make pg_basebackup work with pre-9.3 servers, and add server version check.
commit : d298b50a3b469c088bb40a4d36d38111b4cd574d
author : Heikki Linnakangas <[email protected]>
date : Fri, 22 Mar 2013 13:02:59 +0200
committer: Heikki Linnakangas <[email protected]>
date : Fri, 22 Mar 2013 13:02:59 +0200
A new 'starttli' field was added to the response of BASE_BACKUP command.
Make pg_basebackup tolerate the case that it's missing, so that it still
works with older servers.
Add an explicit check for the server version, so that you get a nicer error
message if you try to use it with a pre-9.1 server.
The streaming protocol message format changed in 9.3, so -X stream still won't
work with pre-9.3 servers. I added a version check to ReceiveXLogStream()
earlier, but write that slightly differently, so that in 9.4, it will still
work with a 9.3 server. (In 9.4, the error message needs to be adjusted to
"9.3 or above", though). Also, if the version check fails, don't retry.
M doc/src/sgml/ref/pg_basebackup.sgml
M src/bin/pg_basebackup/pg_basebackup.c
M src/bin/pg_basebackup/pg_receivexlog.c
M src/bin/pg_basebackup/receivelog.c
M src/bin/pg_basebackup/receivelog.h
Add PF_PRINTF_ATTRIBUTE to on_exit_msg_fmt.
commit : ea988ee8c8b191615e730f930bcde6144a598688
author : Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 10:06:03 +0200
committer: Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 10:06:03 +0200
Per warning from -Wmissing-format-attribute.
M src/bin/pg_dump/dumputils.h
Add missing #include.
commit : 4eefd0f86b6ce2e657c566fe40301930ab31eddd
author : Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 09:55:43 +0200
committer: Heikki Linnakangas <[email protected]>
date : Mon, 25 Mar 2013 09:55:43 +0200
time(2) requires time.h.
M src/timezone/zic.c
Fix some unportable constructs in parallel pg_dump code.
commit : 846681fdd574548d4f430f2ff7ab44d77b4c79fe
author : Tom Lane <[email protected]>
date : Sun, 24 Mar 2013 15:35:37 -0400
committer: Tom Lane <[email protected]>
date : Sun, 24 Mar 2013 15:35:37 -0400
Didn't compile on semi-obsolete gcc, and probably not on not-gcc-at-all
either.
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/parallel.h
M src/bin/pg_dump/pg_backup_archiver.h
Add parallel pg_dump option.
commit : 9e257a181cc1dc5e19eb5d770ce09cc98f470f5f
author : Andrew Dunstan <[email protected]>
date : Sun, 24 Mar 2013 11:27:20 -0400
committer: Andrew Dunstan <[email protected]>
date : Sun, 24 Mar 2013 11:27:20 -0400
New infrastructure is added which creates a set number of workers
(threads on Windows, forked processes on Unix). Jobs are then
handed out to these workers by the master process as needed.
pg_restore is adjusted to use this new infrastructure in place of the
old setup which created a new worker for each step on the fly. Parallel
dumps acquire a snapshot clone in order to stay consistent, if
available.
The parallel option is selected by the -j / --jobs command line
parameter of pg_dump.
Joachim Wieland, lightly editorialized by Andrew Dunstan.
M doc/src/sgml/backup.sgml
M doc/src/sgml/perform.sgml
M doc/src/sgml/ref/pg_dump.sgml
M src/bin/pg_dump/Makefile
M src/bin/pg_dump/compress_io.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
A src/bin/pg_dump/parallel.c
A src/bin/pg_dump/parallel.h
M src/bin/pg_dump/pg_backup.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_custom.c
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_backup_directory.c
M src/bin/pg_dump/pg_backup_tar.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_dump/pg_dump_sort.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/pg_dump/pg_restore.c
M src/tools/msvc/Mkvcbuild.pm
Update time zone abbreviation lists for changes missed since 2006.
commit : 3b91fe185a71c05ac4528f93a39ba27232acc9e0
author : Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 19:16:36 -0400
committer: Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 19:16:36 -0400
Most (all?) of Russia has moved to what's effectively year-round daylight
savings time, so that the "standard" zone names now mean an hour later
than they used to. Update that, notably changing MSK as per recent
complaint from Sergey Konoplev, but also CHOT, GET, IRKT, KGT, KRAT,
MAGT, NOVT, OMST, VLAT, YAKT, YEKT. The corresponding DST abbreviations
are presumably now obsolete, but I left them in place with their old
definitions, just to reduce any possible breakage from this change.
Also add VOLT (Europe/Volgograd), which for some reason we never had
before, as well as MIST (Antarctica/Macquarie), and fix obsolete
definitions of MAWT, TKT, and WST.
M src/timezone/known_abbrevs.txt
M src/timezone/tznames/Antarctica.txt
M src/timezone/tznames/Asia.txt
M src/timezone/tznames/Default
M src/timezone/tznames/Europe.txt
M src/timezone/tznames/Pacific.txt
Semi-automatically detect changes in timezone abbreviations.
commit : 69602772700e62b7b03e3f0ac7b10aa651c0c998
author : Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 18:47:22 -0400
committer: Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 18:47:22 -0400
Add an option to zic.c to dump out all non-obsolete timezone abbreviations
defined in the Olson database. Comparing this list to its previous state
will clue us in when something happens that we may need to account for in
the tznames/ time zone abbreviation lists. The README file's previous
exhortation to "just grep for differences" was completely useless advice,
in my now-considerable experience; but maybe this will be a bit more
useful. As a starting point I built the same list from the tzdata files
as they existed in 2006, which is committed here as known_abbrevs.txt.
Comparison indeed turned up quite a few changes we had neglected to account
for, which I will commit separately.
M src/timezone/.gitignore
M src/timezone/Makefile
M src/timezone/README
A src/timezone/known_abbrevs.txt
M src/timezone/zic.c
Avoid renaming data directory during MSVC upgrade testing.
commit : b7f8465cc6c95da5b1af1de19bc7b7b1b2621276
author : Andrew Dunstan <[email protected]>
date : Sat, 23 Mar 2013 16:26:06 -0400
committer: Andrew Dunstan <[email protected]>
date : Sat, 23 Mar 2013 16:26:06 -0400
This appears to cause some intermittent file system problems
on Windows 8. Instead, set up the old data directory in its
intended final location to start with.
M src/tools/msvc/vcregress.pl
Don't put <indexterm> before <term> in <varlistentry> items.
commit : cdc67938c086104ef7a0e2f1e6912e9ee0ba4c85
author : Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 14:06:33 -0400
committer: Tom Lane <[email protected]>
date : Sat, 23 Mar 2013 14:06:33 -0400
Doing that results in a broken index entry in PDF output. We had only
a few like that, which is probably why nobody noticed before.
Standardize on putting the <term> first.
Josh Kupershmidt
M doc/src/sgml/config.sgml
M doc/src/sgml/libpq.sgml
Document cross-version compatibility issues for contrib/postgres_fdw.
commit : 5b86fedfb57ea943f883a13c6d50c5a9e2a1cc57
author : Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 17:22:31 -0400
committer: Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 17:22:31 -0400
One of the use-cases for postgres_fdw is extracting data from older PG
servers, so cross-version compatibility is important. Document what we
can do here, and further annotate some of the coding choices that create
compatibility constraints. In passing, remove one unnecessary
incompatibility with old servers, namely assuming that we didn't need to
quote the timezone name 'UTC'.
M contrib/postgres_fdw/connection.c
M contrib/postgres_fdw/postgres_fdw.c
M doc/src/sgml/postgres-fdw.sgml
Fix contrib/dblink to handle inconsistent DateStyle/IntervalStyle safely.
commit : 8a3b6772aedbd95557ab1fc489ddf007ac9d405d
author : Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 15:22:15 -0400
committer: Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 15:22:15 -0400
If the remote database's settings of these GUCs are different from ours,
ambiguous datetime values may be read incorrectly. To fix, temporarily
adopt the remote server's settings while we ingest a query result.
This is not a complete fix, since it doesn't do anything about ambiguous
values in commands sent to the remote server; but there seems little we
can do about that end of it given dblink's entirely textual API for
transmitted commands.
Back-patch to 9.2. The hazard exists in all versions, but this patch
would need more work to apply before 9.2. Given the lack of field
complaints about this issue, it doesn't seem worth the effort at present.
Daniel Farina and Tom Lane
M contrib/dblink/dblink.c
M contrib/dblink/expected/dblink.out
M contrib/dblink/sql/dblink.sql
Fix problems with incomplete attempt to prohibit OIDS with MVs.
commit : 549dae0352a06a43ec664dc158556e12ec2d30e5
author : Kevin Grittner <[email protected]>
date : Fri, 22 Mar 2013 13:27:34 -0500
committer: Kevin Grittner <[email protected]>
date : Fri, 22 Mar 2013 13:27:34 -0500
Problem with assertion failure in restoring from pg_dump output
reported by Joachim Wieland.
Review and suggestions by Tom Lane and Robert Haas.
M doc/src/sgml/ref/create_materialized_view.sgml
M src/backend/commands/createas.c
M src/backend/commands/tablecmds.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_utilcmd.c
M src/include/parser/parse_clause.h
Suppress uninitialized-variable warning in new checksum code.
commit : 4912385b56afe68ef76e47d38df1d61ada0fde2f
author : Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 12:27:50 -0400
committer: Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 12:27:50 -0400
Some compilers understand that this coding is safe, and some don't.
M src/backend/storage/page/bufpage.c
Update commit_delay documentation.
commit : 82b945c0979350c87ddc52adefe9f0a36dd5b4c8
author : Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 11:39:15 -0400
committer: Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 11:39:15 -0400
Commit 13fe298ca06f5390df5edf073cf401f9f0b67458 changed this GUC to be
PGC_SUSET, but neglected to update the documentation to match.
While at it, edit and rearrange the text a little for clarity.
M doc/src/sgml/config.sgml
Add new README file for pages/checksums
commit : 9df56f6d91c3d67b23925b8f8b70365636995b71
author : Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 14:21:58 +0000
committer: Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 14:21:58 +0000
A src/backend/storage/page/README
Allow I/O reliability checks using 16-bit checksums
commit : 96ef3b8ff1cf1950e897fd2f766d4bd9ef0d5d56
author : Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 13:54:07 +0000
committer: Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 13:54:07 +0000
Checksums are set immediately prior to flush out of shared buffers
and checked when pages are read in again. Hint bit setting will
require full page write when block is dirtied, which causes various
infrastructure changes. Extensive comments, docs and README.
WARNING message thrown if checksum fails on non-all zeroes page;
ERROR thrown but can be disabled with ignore_checksum_failure = on.
Feature enabled by an initdb option, since transition from option off
to option on is long and complex and has not yet been implemented.
Default is not to use checksums.
Checksum used is WAL CRC-32 truncated to 16-bits.
Simon Riggs, Jeff Davis, Greg Smith
Wide input and assistance from many community members. Thank you.
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/pg_upgrade.h
M doc/src/sgml/config.sgml
M doc/src/sgml/ref/initdb.sgml
M src/backend/access/gist/gistget.c
M src/backend/access/hash/hash.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/heap/rewriteheap.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/access/rmgrdesc/xlogdesc.c
M src/backend/access/spgist/spginsert.c
M src/backend/access/transam/README
M src/backend/access/transam/xlog.c
M src/backend/bootstrap/bootstrap.c
M src/backend/commands/matview.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/vacuumlazy.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/buffer/localbuf.c
M src/backend/storage/freespace/README
M src/backend/storage/freespace/freespace.c
M src/backend/storage/freespace/fsmpage.c
M src/backend/storage/page/bufpage.c
M src/backend/utils/misc/guc.c
M src/backend/utils/time/tqual.c
M src/bin/initdb/initdb.c
M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/include/access/heapam_xlog.h
M src/include/access/visibilitymap.h
M src/include/access/xlog.h
M src/include/catalog/pg_control.h
M src/include/storage/bufmgr.h
M src/include/storage/bufpage.h
Silence compiler warnings about unused values.
commit : e4a05c7512b23c8f48c186e685f2ef186374a20a
author : Andrew Dunstan <[email protected]>
date : Fri, 22 Mar 2013 09:14:16 -0400
committer: Andrew Dunstan <[email protected]>
date : Fri, 22 Mar 2013 09:14:16 -0400
Per gripe from Kevin Grittner.
M contrib/hstore/hstore_io.c
Change commit_delay to be SUSET for 9.3+ Prior to 9.3 the commit_delay affected only the current user, whereas now only the group leader waits while holding the WALWriteLock. Deliberate or accidental settings to a poor value could seriously degrade performance for all users. Privileges may be delegated by SECURITY DEFINER functions for anyone that needs per-user settings in real situations. Request for change from Peter Geoghegan
commit : 13fe298ca06f5390df5edf073cf401f9f0b67458
author : Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 12:01:16 +0000
committer: Simon Riggs <[email protected]>
date : Fri, 22 Mar 2013 12:01:16 +0000
M src/backend/utils/misc/guc.c
Avoid retrieving dummy NULL columns in postgres_fdw.
commit : e690b9515072fd7767fdeca5c54166f6a77733bc
author : Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 00:31:11 -0400
committer: Tom Lane <[email protected]>
date : Fri, 22 Mar 2013 00:31:11 -0400
This should provide some marginal overall savings, since it surely takes
many more cycles for the remote server to deal with the NULL columns than
it takes for postgres_fdw not to emit them. But really the reason is to
keep the emitted queries from looking quite so silly ...
M contrib/postgres_fdw/deparse.c
M contrib/postgres_fdw/expected/postgres_fdw.out
M contrib/postgres_fdw/postgres_fdw.c
M contrib/postgres_fdw/postgres_fdw.h
M contrib/postgres_fdw/sql/postgres_fdw.sql
Redo postgres_fdw's planner code so it can handle parameterized paths.
commit : 9cbc4b80ddc10b36c64514104caa69747c386dcf
author : Tom Lane <[email protected]>
date : Thu, 21 Mar 2013 19:43:59 -0400
committer: Tom Lane <[email protected]>
date : Thu, 21 Mar 2013 19:43:59 -0400
I wasn't going to ship this without having at least some example of how
to do that. This version isn't terribly bright; in particular it won't
consider any combinations of multiple join clauses. Given the cost of
executing a remote EXPLAIN, I'm not sure we want to be very aggressive
about doing that, anyway.
In support of this, refactor generate_implied_equalities_for_indexcol
so that it can be used to extract equivalence clauses that aren't
necessarily tied to an index.
M contrib/postgres_fdw/deparse.c
M contrib/postgres_fdw/expected/postgres_fdw.out
M contrib/postgres_fdw/postgres_fdw.c
M contrib/postgres_fdw/postgres_fdw.h
M contrib/postgres_fdw/sql/postgres_fdw.sql
M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/indxpath.c
M src/include/optimizer/paths.h
Eliminate trivial whitespace inconsistency in docs sample code.
commit : 08af1a0a2ae8fbbd9949d9fa0f7583f6c09cf4ec
author : Kevin Grittner <[email protected]>
date : Thu, 21 Mar 2013 10:34:47 -0500
committer: Kevin Grittner <[email protected]>
date : Thu, 21 Mar 2013 10:34:47 -0500
M doc/src/sgml/rules.sgml
Fix "element <@ range" cost estimation.
commit : f897c4744fea221dfc7bbd277081edad41d1d58d
author : Heikki Linnakangas <[email protected]>
date : Thu, 21 Mar 2013 11:15:45 +0200
committer: Heikki Linnakangas <[email protected]>
date : Thu, 21 Mar 2013 11:15:45 +0200
The statistics-based cost estimation patch for range types broke that, by
incorrectly assuming that the left operand of all range oeprators is a
range. That lead to a "type x is not a range type" error. Because it took so
long for anyone to notice, add a regression test for that case.
We still don't do proper statistics-based cost estimation for that, so you
just get a default constant estimate. We should look into implementing that,
but this patch at least fixes the regression.
Spotted by Tom Lane, when testing query from Josh Berkus.
M src/backend/utils/adt/rangetypes_selfuncs.c
M src/test/regress/expected/rangetypes.out
M src/test/regress/sql/rangetypes.sql
Allow extracting machine-readable object identity
commit : f8348ea32ec8d713cd6e5d5e16f15edef22c4d03
author : Alvaro Herrera <[email protected]>
date : Wed, 20 Mar 2013 18:19:19 -0300
committer: Alvaro Herrera <[email protected]>
date : Wed, 20 Mar 2013 18:19:19 -0300
Introduce pg_identify_object(oid,oid,int4), which is similar in spirit
to pg_describe_object but instead produces a row of machine-readable
information to uniquely identify the given object, without resorting to
OIDs or other internal representation. This is intended to be used in
the event trigger implementation, to report objects being operated on;
but it has usefulness of its own.
Catalog version bumped because of the new function.
M doc/src/sgml/func.sgml
M src/backend/catalog/dependency.c
M src/backend/catalog/objectaddress.c
M src/backend/commands/alter.c
M src/backend/parser/gram.y
M src/backend/utils/adt/format_type.c
M src/backend/utils/adt/regproc.c
M src/include/catalog/catversion.h
M src/include/catalog/dependency.h
M src/include/catalog/objectaddress.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h
Bump up timeout delays some more in timeouts isolation test.
commit : a7921f71a3c747141344d8604f6a6d7b4cddb2a9
author : Tom Lane <[email protected]>
date : Wed, 20 Mar 2013 13:53:43 -0400
committer: Tom Lane <[email protected]>
date : Wed, 20 Mar 2013 13:53:43 -0400
The buildfarm members using -DCLOBBER_CACHE_ALWAYS still don't like this
test. Some experimentation shows that on my machine, isolationtester's
query to check for "waiting" state takes 2 to 2.5 seconds to bind+execute
under -DCLOBBER_CACHE_ALWAYS. Set the timeouts to 5 seconds to leave some
headroom for possibly-slower buildfarm critters.
Really we ought to fix the "waiting" query, which is not only horridly
slow but outright wrong in detail; and then maybe we can back off these
timeouts. But right now I'm just trying to get the buildfarm green again.
M src/test/isolation/expected/timeouts.out
M src/test/isolation/specs/timeouts.spec
Use ORDER BY on matview definitions were needed for stable plans.
commit : 241139ae4baf6264c3c2cd053a547833c6e49a59
author : Kevin Grittner <[email protected]>
date : Tue, 19 Mar 2013 10:33:37 -0500
committer: Kevin Grittner <[email protected]>
date : Tue, 19 Mar 2013 10:33:37 -0500
Per report from Hadi Moshayedi of matview regression test failure
with optimization of aggregates. A few ORDER BY clauses improve
code coverage for matviews while solving that problem.
M src/test/regress/expected/matview.out
M src/test/regress/sql/matview.sql
Clarify assumption of filesystem metadata integrity.
commit : 1a091002cfa2180a908b36d56c58749a175b4be7
author : Simon Riggs <[email protected]>
date : Tue, 19 Mar 2013 08:57:29 +0000
committer: Simon Riggs <[email protected]>
date : Tue, 19 Mar 2013 08:57:29 +0000
Jeff Davis
M doc/src/sgml/wal.sgml
Correction that 2pc state files use CRC-32.
commit : 8c3b87ca10a54daf06e41986d763e12538c06ab9
author : Simon Riggs <[email protected]>
date : Tue, 19 Mar 2013 08:51:35 +0000
committer: Simon Riggs <[email protected]>
date : Tue, 19 Mar 2013 08:51:35 +0000
Jeff Davis
M doc/src/sgml/wal.sgml
Add reliability docs about storage/memory corruptions. Add section to the Reliability section about what is and is not protected for various file types. Further edits welcome.
commit : 2266db392cb825eccb39518e7b652e7f336fff6c
author : Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 22:38:07 +0000
committer: Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 22:38:07 +0000
Designed to allow 1-2 line change when/if checksums are committed.
Inspired by docs written by Jeff Davis, though completely different from his
patch.
M doc/src/sgml/wal.sgml
Improve documentation of EXTRACT(WEEK).
commit : e39feb1006ac5c64fd804597088bc7f40ff7b635
author : Tom Lane <[email protected]>
date : Mon, 18 Mar 2013 13:34:15 -0400
committer: Tom Lane <[email protected]>
date : Mon, 18 Mar 2013 13:34:15 -0400
The docs showed that early-January dates can be considered part of the
previous year for week-counting purposes, but failed to say explicitly
that late-December dates can also be considered part of the next year.
Fix that, and add a cross-reference to the "isoyear" field. Per bug
#7967 from Pawel Kobylak.
M doc/src/sgml/func.sgml
Add pageinspect--1.0--1.sql for checksum changes
commit : e016b72411caa7027f9c980fb2c0560cdab2a129
author : Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 14:39:17 +0000
committer: Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 14:39:17 +0000
A contrib/pageinspect/pageinspect–1.0–1.1.sql
Add pageinspect--1.1.sql for checksum changes
commit : ef04cb745fc3167264f369a2710f237de4db0bf4
author : Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 14:19:06 +0000
committer: Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 14:19:06 +0000
A contrib/pageinspect/pageinspect–1.1.sql
Remove PageSetTLI and rename pd_tli to pd_checksum Remove use of PageSetTLI() from all page manipulation functions and adjust README to indicate change in the way we make changes to pages. Repurpose those bytes into the pd_checksum field and explain how that works in comments about page header.
commit : bb7cc2623f242ffafae404f8ebbb331b9a7f2b68
author : Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 13:46:42 +0000
committer: Simon Riggs <[email protected]>
date : Mon, 18 Mar 2013 13:46:42 +0000
Refactoring ahead of actual feature patch which would make use
of the checksum field, arriving later.
Jeff Davis, with comments and doc changes by Simon Riggs
Direction suggested by Robert Haas; many others providing
review comments.
M contrib/pageinspect/Makefile
M contrib/pageinspect/pageinspect.control
M contrib/pageinspect/rawpage.c
M doc/src/sgml/pageinspect.sgml
M src/backend/access/gin/ginbtree.c
M src/backend/access/gin/ginfast.c
M src/backend/access/gin/gininsert.c
M src/backend/access/gin/ginutil.c
M src/backend/access/gin/ginvacuum.c
M src/backend/access/gin/ginxlog.c
M src/backend/access/gist/gist.c
M src/backend/access/gist/gistbuild.c
M src/backend/access/gist/gistvacuum.c
M src/backend/access/gist/gistxlog.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/spgist/spgdoinsert.c
M src/backend/access/spgist/spginsert.c
M src/backend/access/spgist/spgvacuum.c
M src/backend/access/spgist/spgxlog.c
M src/backend/access/transam/README
M src/backend/access/transam/xlog.c
M src/backend/commands/sequence.c
M src/backend/commands/vacuumlazy.c
M src/include/storage/bufpage.h
Increase timeout delays in new timeouts isolation test.
commit : 4c855750fc0ba9bd30fa397eafbfee354908bbca
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 23:00:44 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 23:00:44 -0400
Buildfarm member friarbird doesn't like this test as-committed, evidently
because it's so slow that the test framework doesn't reliably notice that
the backend is waiting before the timeout goes off. (This is not totally
surprising, since friarbird builds with -DCLOBBER_CACHE_ALWAYS.) Increase
the timeout delay from 1 second to 2 in hopes of resolving that problem.
M src/test/isolation/expected/timeouts.out
M src/test/isolation/specs/timeouts.spec
Extend object-access hook machinery to support post-alter events.
commit : 05f3f9c7b2922b2a064418b5cd87b372d1b73412
author : Robert Haas <[email protected]>
date : Sun, 17 Mar 2013 22:55:14 -0400
committer: Robert Haas <[email protected]>
date : Sun, 17 Mar 2013 22:55:14 -0400
This also slightly widens the scope of what we support in terms of
post-create events.
KaiGai Kohei, with a few changes, mostly to the comments, by me
M src/backend/catalog/aclchk.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/objectaccess.c
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/pg_db_role_setting.c
M src/backend/catalog/pg_type.c
M src/backend/commands/alter.c
M src/backend/commands/cluster.c
M src/backend/commands/dbcommands.c
M src/backend/commands/event_trigger.c
M src/backend/commands/extension.c
M src/backend/commands/foreigncmds.c
M src/backend/commands/functioncmds.c
M src/backend/commands/matview.c
M src/backend/commands/opclasscmds.c
M src/backend/commands/schemacmds.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/tablespace.c
M src/backend/commands/trigger.c
M src/backend/commands/tsearchcmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/user.c
M src/backend/rewrite/rewriteDefine.c
M src/include/catalog/heap.h
M src/include/catalog/index.h
M src/include/catalog/objectaccess.h
M src/include/catalog/pg_constraint.h
M src/include/commands/cluster.h
M src/include/commands/tablecmds.h
Improve signal-handler lockout mechanism in timeout.c.
commit : 6ac7facdd3990baf47efc124e9d7229422a06452
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 22:42:19 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 22:42:19 -0400
Rather than doing a fairly-expensive setitimer() call to prevent interrupts
from happening, let's just invent a simple boolean flag that the signal
handler is required to check. This is not only faster but considerably
more robust than before, since the previous code effectively assumed that
only ITIMER_REAL events would ever fire the SIGALRM handler, which is
obviously something that can be broken easily by third-party code.
Zoltán Böszörményi and Tom Lane
M src/backend/utils/misc/timeout.c
Use pqsignal() in contrib programs rather than calling signal(2) directly.
commit : 3c07fbf40bd0276e4be02fc72cba6b1cd62da301
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 16:09:47 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 16:09:47 -0400
The semantics of signal(2) are more variable than one could wish; in
particular, on strict-POSIX platforms the signal handler will be reset
to SIG_DFL when the signal is delivered. This demonstrably breaks
pg_test_fsync's use of SIGALRM. The other changes I made are not
absolutely necessary today, because the called handlers all exit the
program anyway. But it seems like a good general practice to use
pqsignal() exclusively in Postgres code, now that we have it available
everywhere.
M contrib/pg_standby/pg_standby.c
M contrib/pg_test_fsync/pg_test_fsync.c
Re-include pqsignal() in libpq.
commit : b1fae823ee46a26e7e557591d659351835742537
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 15:45:31 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 15:45:31 -0400
We need this in non-ENABLE_THREAD_SAFETY builds, and also to satisfy
the exports.txt entry; while it might be a good idea to remove the
latter, I'm hesitant to do so except in the context of an intentional
ABI break. At least we don't have a separately maintained source file
for it anymore.
M src/interfaces/libpq/.gitignore
M src/interfaces/libpq/Makefile
M src/interfaces/libpq/bcc32.mak
M src/interfaces/libpq/win32.mak
initdb needs pqsignal() even on Windows.
commit : e2a203a1903367135457f12e0032626f96ef04ca
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 15:19:47 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 15:19:47 -0400
I had thought we weren't using this version of pqsignal() at all on
Windows, but that's wrong --- initdb is using it (and coping with the
POSIX-ish semantics of bare signal() :-(). So allow the file to be
built in WIN32+FRONTEND case, and add it to the MSVC build logic.
M src/include/port.h
M src/port/pqsignal.c
M src/tools/msvc/Mkvcbuild.pm
Fix inclusions in pgbench.c.
commit : 8c41cb695cc5f90eee3d2226ad09016381700ca7
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 14:18:33 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 14:18:33 -0400
Apparently this was depending on pqsignal.h for <signal.h>.
Not sure why I didn't see the failure on my other machine.
M contrib/pgbench/pgbench.c
Fix inclusions in pg_receivexlog.c.
commit : c68b5eff13b97ecaaa87b24406455fafe568aa3f
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 14:11:48 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 14:11:48 -0400
Apparently this was depending on pqsignal.h for <signal.h>.
Not sure why I didn't see the failure on my other machine.
M src/bin/pg_basebackup/pg_receivexlog.c
Move pqsignal() to libpgport.
commit : da5aeccf64b37a8e9bd3cb605848590595dbcbf8
author : Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 12:06:42 -0400
committer: Tom Lane <[email protected]>
date : Sun, 17 Mar 2013 12:06:42 -0400
We had two copies of this function in the backend and libpq, which was
already pretty bogus, but it turns out that we need it in some other
programs that don't use libpq (such as pg_test_fsync). So put it where
it probably should have been all along. The signal-mask-initialization
support in src/backend/libpq/pqsignal.c stays where it is, though, since
we only need that in the backend.
M contrib/pgbench/pgbench.c
M src/backend/access/transam/xlog.c
M src/backend/libpq/pqsignal.c
M src/backend/main/main.c
M src/backend/port/win32/signal.c
M src/backend/port/win32/timer.c
M src/backend/replication/walsender.c
M src/backend/utils/misc/timeout.c
M src/bin/initdb/.gitignore
M src/bin/initdb/Makefile
M src/bin/initdb/initdb.c
M src/bin/pg_basebackup/pg_receivexlog.c
M src/bin/pg_ctl/pg_ctl.c
M src/bin/psql/common.c
M src/bin/psql/copy.c
M src/bin/psql/print.c
M src/bin/scripts/common.c
M src/include/libpq/pqsignal.h
M src/include/port.h
M src/interfaces/libpq/Makefile
M src/interfaces/libpq/bcc32.mak
M src/interfaces/libpq/fe-misc.c
M src/interfaces/libpq/fe-print.c
M src/interfaces/libpq/fe-secure.c
D src/interfaces/libpq/pqsignal.c
D src/interfaces/libpq/pqsignal.h
M src/interfaces/libpq/win32.mak
M src/pl/plperl/plperl.c
M src/port/Makefile
A src/port/pqsignal.c
Add lock_timeout configuration parameter.
commit : d43837d03067487560af481474ae985df894f786
author : Tom Lane <[email protected]>
date : Sat, 16 Mar 2013 23:22:17 -0400
committer: Tom Lane <[email protected]>
date : Sat, 16 Mar 2013 23:22:17 -0400
This GUC allows limiting the time spent waiting to acquire any one
heavyweight lock.
In support of this, improve the recently-added timeout infrastructure
to permit efficiently enabling or disabling multiple timeouts at once.
That reduces the performance hit from turning on lock_timeout, though
it's still not zero.
Zoltán Böszörményi, reviewed by Tom Lane,
Stephen Frost, and Hari Babu
M doc/src/sgml/config.sgml
M src/backend/postmaster/autovacuum.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/backend/utils/misc/timeout.c
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_dump.c
M src/include/storage/proc.h
M src/include/utils/timeout.h
A src/test/isolation/expected/timeouts.out
M src/test/isolation/isolation_schedule
A src/test/isolation/specs/timeouts.spec
pg_resetxlog: Capitalize placeholder in --help output
commit : d2bef5f7db5f3afdbbb3f58b8eff49f0bc7ef790
author : Peter Eisentraut <[email protected]>
date : Sat, 16 Mar 2013 21:47:52 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 16 Mar 2013 21:47:52 -0400
M src/bin/pg_resetxlog/pg_resetxlog.c
pg_controldata: Undo message spelling change
commit : ea1aee88e343969ad7122a18aff7a43e789dbbd7
author : Peter Eisentraut <[email protected]>
date : Sat, 16 Mar 2013 21:47:10 -0400
committer: Peter Eisentraut <[email protected]>
date : Sat, 16 Mar 2013 21:47:10 -0400
M src/bin/pg_controldata/pg_controldata.c
Improve the documentation about commit_delay.
commit : 70ec2f8f4392f4e3d379c2c759789d631ffeec10
author : Tom Lane <[email protected]>
date : Fri, 15 Mar 2013 17:41:47 -0400
committer: Tom Lane <[email protected]>
date : Fri, 15 Mar 2013 17:41:47 -0400
Clarify the docs explaining what commit_delay does, and add a
recommendation about a useful value for it, namely half of the single-page
fsync time reported by pg_test_fsync. This is informed by testing of
the new-in-9.3 implementation of commit_delay; in prior versions it
was far harder to arrive at a useful setting.
In passing, do some wordsmithing and markup-fixing in the same general
area.
Also, change pg_test_fsync's default time-per-test from 2 seconds to 5.
The old value was about the minimum at which the results could be taken
seriously at all, and so seems a tad optimistic as a default.
Peter Geoghegan, reviewed by Noah Misch; some additional editing by me
M contrib/pg_test_fsync/pg_test_fsync.c
M doc/src/sgml/config.sgml
M doc/src/sgml/pgtestfsync.sgml
M doc/src/sgml/wal.sgml
Improve error reporting in code that checks for buffer refcount leaks.
commit : dcafdbcde1baf256891be6af77868b84889b435d
author : Tom Lane <[email protected]>
date : Fri, 15 Mar 2013 12:26:26 -0400
committer: Tom Lane <[email protected]>
date : Fri, 15 Mar 2013 12:26:26 -0400