Der Originalartikel befindet sich unter:
== Wöchentlicher PostgreSQL Newsletter - 27. April 2008 ==
Simon Riggs hat einen Weg vorgeschlagen, MERGE zu implementieren. Die
Diskussion dauert an.
== PostgreSQL Produkt Neuigkeiten ==
OpenResty 0.2.2 erschienen.
pg_top 3.6.2-beta4 erschienen.
prefix 0.2 erschienen.
== PostgreSQL Jobs im April ==
== PostgreSQL Lokal ==
Corporate Databases 2008 wird am 24-25. April in Moskau sein.
BWPUG wird ihr erstes Treffen überhaupt am Mittwoch, dem 14. Mai im
OmniTI Hauptquartier in Columbia, MD, abhalten.
PGCon 2008 wird vom 20. bis 23. Mai in Ottawa sein.
Die griechische PUG wird einen Stand auf der dritten Griechischen FLOSS
Konferenz vom 27.-29. Mai in Athen, NTUA, haben.
PGDay wird in Portland am Tag vor der OSCON stattfinden.
Der Call for Papers für die Utah Open Source Konferenz 2008 ist bis zum
1. Juni offen. Diese 2. jährliche Konferenz wird vom 28. bis 30. August
2008 in Salt Lake City, UT stattfinden.
== PostgreSQL in den News ==
Planet PostgreSQL: http://www.planetpostgresql.org/
General Bits, Archive und gelegentliche News Artikel:
Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an email@example.com, deutsche an
firstname.lastname@example.org, italienische an email@example.com.
== Angewandte Patches ==
Magnus Hagander committed:
- In pgsql/doc/src/sgml/release.sgml, add link to major version
release notes at the top of the minor version ones, to make it clear
to users just browsing the notes that there are a lot more changes
available from whatever version they are at than what's in the minor
version release notes.
- Make float4byval and float8byval configurable on MSVC.
- In pgsql/doc/src/sgml/cvs.sgml, fix typo, noted by Stefan
- Clean up float4byval and float8byval handling by dealing with them
completely from inside the build script for Windows.
- Don't pull in pthreads header files in this file because we never
- Prevent shutdown in normal mode if online backup is running, and
have pg_ctl warn about this. Cancel running online backups (by
renaming the backup_label file, thus rendering the backup useless)
when shutting down in fast mode. Laurenz Albe
Tom Lane committed:
- Fix convert_IN_to_join to properly handle the case where the
subselect's output is not of the same type that's needed for the IN
comparison (ie, where the parser inserted an implicit coercion above
the subselect result). We should record the coerced expression, not
just a raw Var referencing the subselect output, as the quantity
that needs to be unique-ified if we choose to implement the IN as
Unique followed by a plain join. As of 8.3 this error was causing
crashes, as seen in bug #4113 from Javier Hernandez, because the
executor was being told to hash or sort the raw subselect output
column using operators appropriate to the coerced type. In prior
versions there was no crash because the executor chose the hash or
sort operators for itself based on the column type it saw. However,
that's still not really right, because what's unique for one data
type might not be unique for another. In corner cases we could get
multiple outputs of a row that should appear only once, as
demonstrated by the regression test case included in this commit.
However, this patch doesn't apply cleanly to 8.2 or before, and the
code involved has shifted enough over time that I'm hesitant to try
to back-patch. Given the lack of complaints from the field about
such corner cases, I think the bug may not be important enough to
risk breaking other things with a back-patch.
- Issue explicit error messages for attempts to use "shell" operators
in ordinary expressions. This probably doesn't catch every single
case where you might get "cache lookup failed for function 0" for
use of a shell operator, but it will catch most. Per bug #4120 from
Pedro Gimeno. This patch incidentally folds make_op_expr() into its
sole remaining caller --- the alternative was to give it yet more
arguments, which didn't seem an improvement.
- Replace developer FAQ with a reference to the wiki, which is where
it now lives (per discussion). Leave the other FAQs alone for now.
- Fix ALTER TABLE ADD COLUMN ... PRIMARY KEY so that the new column is
correctly checked to see if it's been initialized to all non-nulls.
The implicit NOT NULL constraint was not being checked during the
ALTER (in fact, not even if there was an explicit NOT NULL too),
because ATExecAddColumn neglected to set the flag needed to make the
test happen. This has been broken since the capability was first
added, in 8.0. Brendan Jurd, per a report from Kaloyan Iliev.
- Remove transformAlterTableStmt's kluge to replace
ColumnDef.is_not_null flags by separate AT_SetNotNull subcommands.
That was always ugly and inefficient, and it's now clear that it was
merely a partial workaround for the bug just identified in
ATExecAddColumn. This is just code beautification not a bug fix, so
no back-patch. Brendan Jurd, with some trivial additional cleanup
- Code review for recent patch to terminate online backup during
shutdown: do CancelBackup at a sane place, fix some oversights in
the state transitions, allow only superusers to connect while we are
waiting for backup mode to end.
- Back-patch Heikki's fix to make TransactionIdIsCurrentTransactionId()
use binary search instead of linear search when checking
child-transaction XIDs. Per example from Robert Treat, the speed of
TransactionIdIsCurrentTransactionId is significantly more important
in 8.3 than it was in prior releases, so this seems worth taking
back-patching risk for.
Bruce Momjian committed:
- FAQ2txt now only controls the main FAQ, not FAQ_DEV.
- Add URL for TODO item MERGE.
- Add to psql TODO: "Add prompt escape to display the client and
- Add URL for GIT (Grouped Index Tuples) URL.
- Update TODO description for GIT: "Consider smaller indexes that
record a range of values per heap page, rather than having one index
entry for every heap row."
- Remove from TODO, item done, description unclear: "Allow index scans
to return matching index keys."
- Add to TODO: "Allow adding enumerated values to an existing
enumerated data type."
- Add to TODO: "Allow index scans to return matching index keys, not
just the matching heap locations."
- Add URL for above TODO.
- Add to TODO: "Impove COPY performance."
- Add to TODO: "Allow prepared transactions with temporary tables
created and dropped in the same transaction, and when an ON COMMIT
DELETE ROWS temporary table is accessed."
- Add embedded usage mention to FAQ, per Greg Smith.
- Update TODO item: "Allow adding/removing enumerated values to an
existing enumerated data."
- Update TODO item: "Allow adding/renaming/removing enumerated values
to an existing enumerated data type."
- Update to remove passive wording from FAQ, David Fetter.
- Add URL for TODO: "Allow adding/renaming/removing enumerated values
to an existing enumerated data type."
Teodor Sigaev committed:
- Fix using too many LWLocks bug, reported by Craig Ringer. It was my
mistake, I missed limitation of number of held locks, now GIN
doesn't use continiuous locks, but still holds buffers pinned to
prevent interfering with vacuum's deletion algorithm. Backpatch is
Alvaro Herrera committed:
- In pgsql/doc/src/sgml/array.sgml, add SGML ID attributes to the
arrays subsections, and a few index entries for them.
== Abgelehnte Patches (bis jetzt) ==
No one was disappointed this week :-)
== Eingesandte Patches ==
Joshua Drake sent in six revisions of his patch to shorten and clarify
psql's default banner.
Zoltan Boszormenyi sent in another revision of his TRUNCATE ...
RESTART IDENTITY patch.
Teodor Sigaev updated his patch to add partial match to GIN.
Bruce Momjian sent in another revision of the patch to wrap psql
output at the window width.
Euler Taveira de Oliveira sent in an updated version of his patch
which localizes lc_time and dates.
Andrew Dunstan sent in a patch to implement column-level privileges.
Zdenek Kotala sent in a patch which removes nonsegment mode support
due to its non-portability.
Alvaro Herrera sent in two more revisions of his patch for snapshot
Hitoshi Harada sent in a patch to implement a temporal version of
Peter Koczan sent in a patch to fix a bug in kerberos in 8.3.
Euler Taveira de Oliveira sent in a patch which localizes ecpg.
Stephen Layland sent in a patch to implement LDAPS support.