== Wöchentlicher PostgreSQL Newsletter - 26. September 2010 ==

== Wöchentlicher PostgreSQL Newsletter - 26. September 2010 ==

am 27.09.2010 14:07:54 von adsmail

Der Originalartikel befindet sich unter:

http://www.postgresql.org/community/weeklynews/pwn20100926



== Wöchentlicher PostgreSQL Newsletter - 26. September 2010 ==

Neue Umfrage: Wann gehst du mit 9.0 in den Produktionsbetrieb?
http://www.postgresql.org/community

== PostgreSQL Produkt Neuigkeiten ==

MyJSQLView 3.23, ein GUI Werkzeug welches mit PostgreSQL verwendet
werden kann, ist erschienen.
http://dandymadeproductions.com/projects/MyJSQLView/index.ht ml

pgAdmin III 1.12.0, ein GUI-basierendes Management
Werkzeug für PostgreSQL, ist erschienen.
http://www.pgadmin.org/download/

== PostgreSQL Jobs im September ==

http://archives.postgresql.org/pgsql-jobs/2010-09/threads.ph p

== PostgreSQL Lokal ==

Surge 2010, die Konferenz über Skalierbarkeit und Performance, findet
in Baltimore, MD, USA vom 30. September bis zum 1. Oktober 2010 statt.
http://omniti.com/surge/2010

Die Registrierung für Frühbucher für JDCon West 2010 ist jet=
zt möglich.
https://www.postgresqlconference.org/content/pgwest-2010-reg istration

Der Call for Papers für den PGDay.EU 2010 am 6.-8. Dezember in
Stuttgart ist nun eröffnet.
http://2010.pgday.eu/callforpapers

== PostgreSQL in den News ==

Planet PostgreSQL: http://planet.postgresql.org/

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fet=
ter.

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an david@fetter.org, deutsche an
pwn@pgug.de, italienische an pwn@itpug.org.

== Reviews ==

Hitoshi Harada reviewed Pavel Stehule's WIP patches to add MEDIAN and
PERCENTILE.

ITAGAKI Takahiro reviewed SAKAMOTO Masahiko's patch to implement the
foreign data wrapper parts of the SQL/MED specification.

Marko (johto) Tiikkaja reviewed Boxuan Zhai's MERGE patch.

== Angewandte Patches ==

Magnus Hagander pushed:

- Rename README.CVS to README.git and change references in it.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D3977=
61827aa3a3ac95b8a60dd21900f7bae88f05

- Convert cvsignore to gitignore, and add .gitignore for build
targets.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dfe9b=
36fd59a771a98c0d33dd97039e6fc45d0f43

- Remove anonymous cvs instructions, and replace them with
instructions for git. Change other references from cvs to git as
well.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D726f=
9ddcd1b98b1c702e54b6dc40e57982c15036

- Add gitignore files for ecpg regression tests. Backpatch to 8.2 as
that's how far the structure looks the same.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D6c13=
7da018ad3ec52c872e0bb88c5968830e58d0

Robert Haas pushed:

- git_topo_order script, to match up commits across branches. This
script is intended to substitute for cvs2cl in generating release
notes and scrutinizing what got back-patched to which branches.
Script by me. Support for --since by Alex Hunsaker.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D1b98=
4d43e54a969da26277d913a41ffd5ccfc1e8

- Remove various mentions of CVS from src/tools/RELEASE_CHANGES.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D8f00=
f73dc240a034668023f6d1ab18695bb1be32

- In src/backend/commands/copy.c, typo fix. "CVS" is not the same
thing as "CSV".
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D0100=
3ec3bcd78a261e9b017837c961a96024abd4

- Fix inconsistent capitalization of "PL/pgSQL". Josh Kupershmidt.

- In contrib/xml2/.gitignore, add contrib/xml2/pgxml.sql to
.gitignore. Kevin Grittner.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D0a8e=
d2cdb4f7a34f65976a87a2b08a39df17939a

- In contrib/fuzzystrmatch/fuzzystrmatch.c, in levenshtein_internal(),
describe algorithm a bit more clearly.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D1267=
9b8bc908f941710bed185aa142ad5de539c6

Tom Lane pushed:

- In README.git, trivial typo fix.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Deacc=
4a3b9a7ea8a2608cb95981646f947efed625

- Back-patch replacement of README.CVS with README.git. In older
branches, also git-ify the "make distdir" rule.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D829f=
5b3571241cae2cc1a02923439cd0725d683c

- In doc/src/sgml/maintenance.sgml, fix a missed explanation of
auto-analyze threshold, per Joe Miller.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D2cdf=
6c155110cd068933e3be71f2af747e648fb0

- In src/backend/Makefile, the port/pg_latch.c symlink ought to be
removed by make distclean. Not sure why these symlinks are removed
here and not in the port/ Makefile, but I won't second-guess that
choice right now.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Da6d4=
089d49a151496f6c26bf3537053aacd7f949

- In src/backend/optimizer/plan/README, some more cleanup of CVS
keyword noise. Poking around for remaining occurrences of CVS
keyword strings, I came across one that apparently reflects the use
of a $Revision: ...$ string in the original input data. Dunno why
anybody would be using that in an MTA's Received: lines, but there
it is. Put it back to the way that it was originally, according to
inspection of the CVS repo.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D538d=
685a1a266e2149587bf895d1b494afd37bd3

- add_cvs_markers isn't useful anymore. Removed.

- pgcvslog isn't useful anymore, either. See git_topo_order instead.

- Some more gitignore cleanups: cover contrib and PL regression test
outputs. Also do some further work in the back branches, where
quite a bit wasn't covered by Magnus' original back-patch.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dcc2c=
8152e624e4985660e7042960bf300bb78a39

- Another gitignore straggler.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Db490=
92d9d081a3dff3b8a82a5e45d0164824d2b5

- In doc/src/sgml/.gitignore, add assorted other documentation build
targets to documentation gitignore.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dcb71=
efe164aea6d37a938fae9d9109dbd7d7dd64

- Fix remaining stray references to CVS. These are just cosmetic and
don't seem worth back-patching far. I put them into 9.0 just
because it was trivial to do so.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D6513=
77933e031526379cae97034d1c50cdaad28c

- In doc/src/sgml/sourcerepo.sgml, do some copy-editing on the Git
usage docs.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D8687=
fbbe42a11d6fd4db5a89c15e5c967bd65757

- In src/interfaces/libpq/.gitignore, more fixes for libpq's
.gitignore file. The previous patches failed to cover a lot of
symlinks that are only added in platform-specific cases. Make the
lists match what's in the Makefile for each branch.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D804b=
27613ba90bf67f903f114353d608e1d752d0

- Re-allow input of Julian dates prior to 0001-01-01 Andrew Dunstan.
This was unintentionally broken in 8.4 while tightening up checking
of ordinary non-Julian date inputs to forbid references to "year
zero". Per bug #5672 from Benjamin Gigot.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D9aae=
81527f3174b9b6fd6366f04435310903dab2

- Another missing .gitignore entry ...

- In src/backend/nodes/outfuncs.c, make _outPathInfo print the relid
set of the path's parent rel. We can't actually print the parent
RelOptInfo in toto, because that would lead to infinite recursion.
But it's safe enough to reach into the parent and print its
identifying relids, and that makes it a whole lot easier to figure
out what a Path represents. Should have done this years ago.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D0037=
88e81e7f72bc545b509e1517a672d891273b

- In src/backend/optimizer/path/allpaths.c, avoid sharing subpath list
structure when flattening nested AppendRels. In some situations the
original coding led to corrupting the child AppendRel's subpaths
list, effectively adding other members of the parent's list to it.
This was usually masked because we never made any further use of the
child's list, but given the right combination of circumstances, we
could do so. The visible symptom would be a relation getting
scanned twice, as in bug #5673 from David Schmitt. Backpatch to
8.2, which is as far back as the risky coding appears. The example
submitted by David only fails in 8.4 and later, but I'm not
convinced that there aren't any even-more-obscure cases where 8.2
and 8.3 would fail.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dee63=
981c1fe26299162b9c7f1218d7e3ef802409

- In src/backend/commands/variable.c, prevent show_session_authorization
from crashing when session_authorization hasn't been set. The only
known case where this can happen is when show_session_authorization
is invoked in an autovacuum process, which is possible if an index
function calls it, as for example in bug #5669 from Andrew Geery.
We could perhaps try to return a sensible value, such as the name of
the cluster-owning superuser; but that seems like much more trouble
than the case is worth, and in any case it could create new possible
failure modes. Simply returning an empty string seems like the most
appropriate fix. Back-patch to all supported versions, even those
before autovacuum, just in case there's another way to provoke this
crash.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D660f=
bec560335292db9e05e4ad5d46437bb806bc

- In src/backend/commands/async.c, processIncomingNotify *must* reset
notifyInterruptOccurred when called. This was broken in 9.0 by
careless addition of an early-exit path. Bug report and diagnosis
by Jeff Davis.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Da959=
c67cb73cf7cfe8b368632062c625c0e01858

- Replace doc references to install-win32 with install-windows.
Windows is not necessarily 32-bit, any more. As suggested by Mike
Toews.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D3186=
560f46b5076feb8776ae5e600b7ea0f31852

- Still more .gitignore cleanup. Fix overly-enthusiastic ignores, as
identified by git ls-files -i --exclude-standard
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D54c8=
8dee46ae63d1f183ed864b624881ed05d370

- Further fixes to the pg_get_expr() security fix in back branches.
It now emerges that the JDBC driver expects to be able to use
pg_get_expr() on an output of a sub-SELECT. So extend the check
logic to be able to recurse into a sub-SELECT to see if the argument
is ultimately coming from an appropriate column. Per report from
Thomas Kellerer.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D3613=
d0893f526619471026b6b04bda70e31fe9e2

- Fix another join removal bug: the check on PlaceHolderVars was
wrong. The previous coding would decide that join removal was
unsafe upon finding a PlaceHolderVar that needed to be evaluated at
the inner rel and then used above the join. However, this fails to
cover the case of PlaceHolderVars that refer to both the inner rel
and some other rels. Per bug report from Andrus.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dc8c0=
3d72e10cab3cc47975b2689c8efbb4eade94

- Rename git_topo_order -> git_changelog, per discussion.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dce1d=
cd468f8a728398424296165a8d87eb36f0d8

- Minor improvements to git_changelog. Avoid depending on Date::Calc,
which isn't in a basic Perl installation, when we can equally well
use Time::Local which is. Also fix the parsing of timestamps to
take heed of the timezone. (It looks like cvs2git emitted all
commit timestamps with zone GMT, so this refinement might've looked
unnecessary when looking at converted data; but it's needed now.)
Fix parsing of message bodies so that blank lines that may or may
not get emitted by "git log" aren't confused with real data. This
avoids strange formatting of the oldest commit on a branch. Check
child-process exit status, so that we actually notice if "git log"
fails, and so that we don't accumulate zombie children.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D901a=
5a786fa3cf107ceb11d2622cf8bb99221f3a

- Fix some more bugs in git_changelog. 1. Don't forget the last
(oldest) commit on the oldest branch. 2. When considering which
commit to print next, if two alternatives have the same "distortion"
score (which is actually the normal case, since generally the
"distortion" is 0), then choose the later timestamp to print first.
I don't know where Robert Haas got the idea to ignore timestamps and
sort by branch age, but it wasn't a good idea: the resulting
ordering of commits was just plain bizarre anywhere that some
branches had many fewer commits than others, which is the typical
situation for us.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D30d2=
e1005838c7ece353ef2ac269cfdc37e937be

- Still more tweaking of git_changelog. 1. Don't assume there's only
one candidate match; check them all and use the one with the closest
timestamp. Avoids funny output when someone makes several
successive commits with the same log message, as certain people have
been known to do. 2. When the same commit (with the same SHA1) is
reachable from multiple branch tips, don't report it for all the
branches; instead report it only for the first such branch. Given
our development practices, this case arises only for commits that
occurred before a given branch split off from master. The original
coding blamed old commits on *all* the branches, which isn't
terribly useful; the new coding blames such a commit only on master.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D899b=
eb78941aa955aac2e19cb82458c6f4c7dd52

- Improve git_changelog as per discussion with Robert Haas. 1.
Resurrect the behavior where old commits on master will have Branch:
labels for branches sprouted after the commit was made. I'm still
dubious about this mode, but if you want it, say --post-date or -p.
2. Annotate the Branch: labels with the release or branch in which
the commit was publicly released. For example, on a release branch
you could see Branch: REL8_3_STABLE Release: REL8_3_2 [92c3a8004]
2008-03-29 00:15:37 +0000 showing that the fix was released in
8.3.2. Commits on master will usually instead have notes like
Branch: master Release: REL8_4_BR [6fc9d4272] 2008-03-29 00:15:28
+0000 showing that this commit is ancestral to release branches 8.4
and later. If no Release: marker appears, the commit hasn't yet
made it into any release. 3. Add support for release branches older
than 7.4. 4. The implementation is improved by running git log on
each branch only back to where the branch sprouts from master. This
saves a good deal of time (about 50% of the runtime when generating
the complete history). We generate the post-date-mode tags via a
direct understanding that they should be applied to master commits
made before the branch sprouted, rather than backing into them via
matching (which isn't any too reliable when people used identical
log messages for successive commits).
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dbf42=
9cebd059764198580ca576608921e2022992

Heikki Linnakangas pushed:

- In src/bin/pg_dump/pg_dump.c, initialize tableoid field correctly
when dumping foreign data wrappers and servers. AFAICT it's harmless
at the moment because nothing can depend on either, but as soon as
we introduce an object type with such dependencies, tableoid needs
to be set or pg_dump will fail to interpret the dependencies
correctly. In theory, I guess the uninitialized garbage in tableoid
could cause the object to be mistaken for some other object with
same OID as well.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D7e8c=
25c66e9837d5dafeb2b3a0786611226af269

Alvaro Herrera pushed:

- In config/prep_buildtree, prevent doc/src/sgml subdirs from being
created, instead of deleting them after the fact. This is a more
elegant fix for bug #5595.
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3Dfde5=
ce4fe2286d3c66cd77db0b7116566ac7b66b

Peter Eisentraut pushed:

- Fix man page markup for with multiple variants.
Command synopses using with multiple variants
previously used to break lines between variants. The new man
page toolchain introduced in 9.0 makes a mess out of that, and that
markup was probably wrong all along, because is supposed to
break lines within a synopsis, not between them. So fix that by
using multiple elements inside .
Backpatched to 9.0
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3D635d=
e8365f0299cfa2db24c56abcfccb65d020f0

- Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE. Like with
tables, this also requires allowing the existence of composite types
with zero attributes. Reviewed by KaiGai Kohei
=20
http://git.postgresql.org/gitweb?p=3Dpostgresql.git;a=3Dcomm itdiff;h=3De440=
e12c562432a2a695b8054964fb34e3bd823e

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Jesper Krogh sent in a patch to allow the text search parser not to
treat _ as a separation character.

Jesper Krogh sent in a patch to allow tuning, on a per-table basis,
the number of tuples per page before the tupletoaster acts.

Pavel Stehule sent in five WIP patches to implement MEDIAN and
PERCENTILE aggregates.

Peter Eisentraut sent in a patch to trim trailing white space from
psql output.

Kevin Grittner sent in a patch to create a SHMList, a structure to be
used later for, among other things, helping with the performance of
truly serializable transctions.

ITAGAKI Takahiro sent in another revision of the patch to add JSON
support.

Robert Haas and KaiGai Kohei traded versions of the security label
patch.

Ganesh Venkitachalam sent in two proof-of-concept patches to make the
latch implementation more efficient.

Kevin Grittner sent in another revision of the patch to add
truly serializable snapshot isolation.

Boxuan Zhai sent in two more revisions of the patch to add MERGE.

Robert Haas sent in a patch to remove some faulty intelligence from
the planner.

Gurjeet Singh sent in a patch to speed up the prep_buildtree script,
which is used in VPATH builds.

--
Andreas 'ads' Scherbaum
Deutsche PostgreSQL User Group: http://www.pgug.de/
DPWN: http://andreas.scherbaum.la/blog/categories/18-PWN




--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein