Skip to content

Wöchentlicher PostgreSQL Newsletter - 26. September 2010

Der Originalartikel befindet sich unter:

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

Neue Umfrage: Wann gehst du mit 9.0 in den Produktionsbetrieb?

== PostgreSQL Produkt Neuigkeiten ==

MyJSQLView 3.23, ein GUI Werkzeug welches mit PostgreSQL verwendet
werden kann, ist erschienen.

pgAdmin III 1.12.0, ein GUI-basierendes Management
Werkzeug für PostgreSQL, ist erschienen.

== PostgreSQL Jobs im September ==

== PostgreSQL Lokal ==

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

Die Registrierung für Frühbucher für JDCon West 2010 ist jetzt möglich.

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

== PostgreSQL in den News ==

Planet PostgreSQL:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fetter.

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an, italienische an

== Reviews ==

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

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.;a=commitdiff;h=397761827aa3a3ac95b8a60dd21900f7bae88f05

- Convert cvsignore to gitignore, and add .gitignore for build

- Remove anonymous cvs instructions, and replace them with
  instructions for git.  Change other references from cvs to git as

- Add gitignore files for ecpg regression tests.  Backpatch to 8.2 as
  that's how far the structure looks the same.;a=commitdiff;h=6c137da018ad3ec52c872e0bb88c5968830e58d0

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.;a=commitdiff;h=1b984d43e54a969da26277d913a41ffd5ccfc1e8

- Remove various mentions of CVS from src/tools/RELEASE_CHANGES.;a=commitdiff;h=8f00f73dc240a034668023f6d1ab18695bb1be32

- In src/backend/commands/copy.c, typo fix.  "CVS" is not the same
  thing as "CSV".;a=commitdiff;h=01003ec3bcd78a261e9b017837c961a96024abd4

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

- In contrib/xml2/.gitignore, add contrib/xml2/pgxml.sql to
  .gitignore.  Kevin Grittner.;a=commitdiff;h=0a8ed2cdb4f7a34f65976a87a2b08a39df17939a

- In contrib/fuzzystrmatch/fuzzystrmatch.c, in levenshtein_internal(),
  describe algorithm a bit more clearly.;a=commitdiff;h=12679b8bc908f941710bed185aa142ad5de539c6

Tom Lane pushed:

- In README.git, trivial typo fix.;a=commitdiff;h=eacc4a3b9a7ea8a2608cb95981646f947efed625

- Back-patch replacement of README.CVS with README.git.  In older
  branches, also git-ify the "make distdir" rule.;a=commitdiff;h=829f5b3571241cae2cc1a02923439cd0725d683c

- In doc/src/sgml/maintenance.sgml, fix a missed explanation of
  auto-analyze threshold, per Joe Miller.;a=commitdiff;h=2cdf6c155110cd068933e3be71f2af747e648fb0

- 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.;a=commitdiff;h=a6d4089d49a151496f6c26bf3537053aacd7f949

- 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.;a=commitdiff;h=538d685a1a266e2149587bf895d1b494afd37bd3

- 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.;a=commitdiff;h=cc2c8152e624e4985660e7042960bf300bb78a39

- Another gitignore straggler.;a=commitdiff;h=b49092d9d081a3dff3b8a82a5e45d0164824d2b5

- In doc/src/sgml/.gitignore, add assorted other documentation build
  targets to documentation gitignore.;a=commitdiff;h=cb71efe164aea6d37a938fae9d9109dbd7d7dd64

- 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.;a=commitdiff;h=651377933e031526379cae97034d1c50cdaad28c

- In doc/src/sgml/sourcerepo.sgml, do some copy-editing on the Git
  usage docs.;a=commitdiff;h=8687fbbe42a11d6fd4db5a89c15e5c967bd65757

- 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.;a=commitdiff;h=804b27613ba90bf67f903f114353d608e1d752d0

- 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.;a=commitdiff;h=9aae81527f3174b9b6fd6366f04435310903dab2

- 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.;a=commitdiff;h=003788e81e7f72bc545b509e1517a672d891273b

- 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.;a=commitdiff;h=ee63981c1fe26299162b9c7f1218d7e3ef802409

- 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

- 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.;a=commitdiff;h=a959c67cb73cf7cfe8b368632062c625c0e01858

- Replace doc references to install-win32 with install-windows.
  Windows is not necessarily 32-bit, any more.  As suggested by Mike

- Still more .gitignore cleanup.  Fix overly-enthusiastic ignores, as
  identified by git ls-files -i --exclude-standard;a=commitdiff;h=54c88dee46ae63d1f183ed864b624881ed05d370

- 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.;a=commitdiff;h=3613d0893f526619471026b6b04bda70e31fe9e2

- 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.;a=commitdiff;h=c8c03d72e10cab3cc47975b2689c8efbb4eade94

- Rename git_topo_order -> git_changelog, per discussion.;a=commitdiff;h=ce1dcd468f8a728398424296165a8d87eb36f0d8

- 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.;a=commitdiff;h=901a5a786fa3cf107ceb11d2622cf8bb99221f3a

- 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.;a=commitdiff;h=30d2e1005838c7ece353ef2ac269cfdc37e937be

- 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.;a=commitdiff;h=899beb78941aa955aac2e19cb82458c6f4c7dd52

- 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).;a=commitdiff;h=bf429cebd059764198580ca576608921e2022992

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.;a=commitdiff;h=7e8c25c66e9837d5dafeb2b3a0786611226af269

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.;a=commitdiff;h=fde5ce4fe2286d3c66cd77db0b7116566ac7b66b

Peter Eisentraut pushed:

- Fix man page markup for <cmdsynopsis> with multiple variants.
  Command synopses using <cmdsynopsis> with multiple variants
  previously used <sbr> 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 <sbr> is supposed to
  break lines within a synopsis, not between them.  So fix that by
  using multiple <cmdsynopsis> elements inside <refsynopsisdiv>.
  Backpatched to 9.0;a=commitdiff;h=635de8365f0299cfa2db24c56abcfccb65d020f0

  tables, this also requires allowing the existence of composite types
  with zero attributes.  Reviewed by KaiGai Kohei;a=commitdiff;h=e440e12c562432a2a695b8054964fb34e3bd823e

== 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

Robert Haas and KaiGai Kohei traded versions of the security label

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.


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options