Skip to content

Mausefalle in Magdeburg

Nach einem Kinobesuch in Magdeburg wollten wir vier noch nicht heim, also dachten wir uns, suchen wir uns etwas gemütliches zum Hinsetzen. Unsere Wahl fiel auf die Mausefalle in der Nähe vom Hassel. Ein freier Tisch war auch schnell gefunden.

Aber dann fing es an: der Drink meiner Freundin kam in einem kaputten Glas, jedoch war keine der drei anwesenden Bedienungen für die nächsten 10 min (ja, laut Uhr) in unserem Teil des Lokals zu finden. Endlich erschien auch mal jemand und nahm nach einem Hinweis den Drink ohne ein weiteres Wort oder mal eine Entschuldigung mit. In der Zeit hatten wir drei anderen unsere Getränke natürlich ausgetrunken, so dass meine Freundin dann alleine trinken durfte.

Die Musik wechselte irgendwie alle paar Sekunden, das hörte sich so an, als ob eine CD nur auf Anspielen gestellt war.

Beim Bezahlen hatte (oder wollte nicht haben) die Bedienung dann nicht einmal 20 Cent Wechselgeld in der Geldbörse.



Fazit: wirklich nicht zu empfehlen.

Quality control?

Got a piece of software into my hands, a driver for a DSL box. No Makefile's in the archive, no documentation, nothing. Just some directories with a lot of subdirectories and a buzzword "feature": a lot of code is self-generated from XML files.



Ok, some steps later, i ran into a compiler error: "error: invalid lvalue in assignment". Uff ...



After deep debugging into a lot of recursive and self-creating include files, there was this specific error:



(xml_user_context_t *)ucontext = __c_ctxt->global->uctxt;



After moving the cast part to the (in every meaning) right side of the assignment, things are working. At least for this part.

I bet, this was never compiling before, but it was released software from the manufacturer of the chips ...

Teures Fernsehkabel

Meine Freundin hat von ihrer Mam so einen alten kleinen Fernseher, schwarz-weiss, Röhrengröße eher wie ein Oszilloskop. Dafür wollte sie nun ein Fernsehkabel ins Schlafzimmer gelegt bekommen, um dort DVD schauen zu können. Benötigte Länge ca. 15 oder 16 Meter, so viel hatten wir nicht mehr daheim.


Sind wir also ins Geschäft gefahren, um Kabel zu kaufen. Zurückgekommen sind wir mit einem tragbaren DVD Player: der Monitor ist nicht viel größer als bei dem anderen, aber dafür hat der wenigstens Farbe ;-)

Nur Kabel haben wir immer noch keines.

Wöchentlicher PostgreSQL Newsletter - 25. Dezember 2006

Der Original Artikel befindet sich hier: http://people.planetpostgresql.org/dfetter/



== Wöchentlicher PostgreSQL Newsletter - 25. Dezember 2006 ==

Der Wöchentliche PostgreSQL Newsletter sendet ein herzliches Willkommen an die Indonesische PostgreSQL Community.

http://tech.groups.yahoo.com/group/postgresql_indo/

Peter Eisentraut checkte vorläufigen Support für XML Datentypen laut dem SQL:2003 SQL/XML Standard ein, eine Menge Leute haben dies getestet.
http://developer.postgresql.org/pgdocs/postgres/datatype-xml.html

Oleg Bartunov und Teodor Sigaev reichten für tsearch2 einen von EnterpriseDB gesponserten Patch ein, der eine Menge neuer Features mitbringt.
http://mira.sai.msu.su/~megera/pgsql/ftsdoc/

Sebastien Lardiere's neues Buch,
PostgreSQL 8.1 Administration et Exploitation d'une Base de Donnees,
ist erschienen.
http://www.postgresqlfr.org/?q=node/1031


== PostgreSQL Produkt Neuigkeiten ==

phpPgAdmin ist jetzt in Fedora Extras.
http://people.planetpostgresql.org/devrim/index.php?/archives/73-Pushed-phpPgAdmin-into-Fedora-Core-Extras.html

Update Scout überwacht nun PostgreSQL
http://www.update-scout.com

SuSE PostgreSQL RPMs erschienen.
ftp://ftp.suse.com/pub/projects/postgresql/

Grifinor, eine virtuelle Open Source 3D Globus Plattform, nutzt PostgreSQL.
http://www.grifinor.net/


== PostgreSQL Jobs im Dezember ==

http://archives.postgresql.org/pgsql-jobs/2006-12/threads.php


== PostgreSQL Lokal ==

Die Italienische PostgreSQL Community wird einen PostgreSQL Tag im Sommer abhalten. Bookmarke den folgenden Link, um teilzunehmen.
http://www.pgday.it

Der Wöchentliche PostgreSQL Newsletter sendet ein herzliches Willkommen an die Indonesische PostgreSQL Community.
http://tech.groups.yahoo.com/group/postgresql_indo/

Gavin Sherry veranstaltet eine PostgreSQL Minikonferenz in Sydney am
Dienstag dem 16. Januar 2007.
http://lca2007.linux.org.au/Miniconfs/PostgreSQL Wenn du teilnehmen
möchtest, maile gavin AT alcove . com . au


== PostgreSQL in den News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archive und gelegentliche News Artikel:
http://www.varlena.com/GeneralBits/

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fetter, Pavel Stehule, Robert Treat


== Angewandte Patches ==

Andrew Dunstan checkte ein:

- Einen Tom Lane/Andrew Dunstan Patch um einen dbName Parameter für PQsetdbLogin als conninfo String zu interpretieren, wenn der String ein = Zeichen enthält.

- Einen Fix für die Platzierung des TimeValStruct typedefs unter Windows, Bugreport von Magnus Hagander.

- Aktiviere \timing Ausgaben für \copy Befehle in psql.


Tom Lane checkte ein:

- Repariere HISTCONTROL=ignoredups (bei letzten Code Umstellungen kaputt gegangen durch eine falsche Anordnung von Operationen). Bug #2840 von Ned Crigler.

- Bringe etwas Ordnung und Vernunft in das Errorhandling des XML Patches. Nutze einen TRY Block statt des (unzulänglichen) Ad-Hoc Codes um sicherzustellen, das libxml nach einem Fehler aufgeräumt ist. Logge den beabsichtigten SQLCODE statt der defaulmäßigen XX000. Vermeide das Risiko eines bereits freigegebenen Zeigers, indem der persistende Fehlerspeicherplatz in TopMemoryContext gehalten wird. Sei nicht so optimistisch, das Fehlernachrichten kein % enthalten.

- Fixe Maschinenabhängigen Absturz in sqlchar_to_unicode(). Werde die falsche und unsichere Manipulation der globalen Encoding Einstellungen los. Räume die libxml Reportmechanismen etwas auf (es sieht immer noch so aus, als wartet ein Dangling-pointer Crash nur darauf, in Erscheinung zu treten, geschweige denn das dies sauber von einem Localization Standpunkt ist).

- Code Review für den XML Patch. Packe etwas Vernunft in die Vorkommen von XmlExpr in diversen Listen, nutze eine Darstellung die etwas Hoffnung für richtige inverse Listen bietet (obwohl dies immer noch eine de-escaping Funktion ohne Korrektheit ist), im allgemeinen versuche sich mehr an die Postgres Coding Convention zu halten.

- Unterdrücke verschiedene Compilerwarnungen im neuen XML Code.

- Restrukturiere Operator Klassen um verbessertes Handling bei verschiedenen Datentypen zu erlauben. Operator Klassen existieren nun in "Operator Familien". Während die meisten Familien äquivalent zu einer einzelnen Klasse sind, können zusammengehörende Klassen in eine Familie gruppiert werden um die Tatsache abzubilden, das sie semantisch kompatibel sind. Cross-Typ Operatoren sind nun normalerweise adjunkte Teile einer Familie, ohne sie in eine besondere Opklasse einzwängen zu müssen, wie wir das ursprünglich getan haben. Dieser Commit restrukturiert den Katalog und räumt genügend auf, so das alles wenigstens so funktioniert wie zuvor, aber die meiste notwendige Arbeit um den Planer zu verbessern wird später kommen. Desweiteren sind derzeit keine CREATE/DROP/ALTER OPERATOR FAMILY Befehle vorhanden, der einzige Weg, um eine neue Familie zu erstellen, führt über CREATE OPERATOR CLASS um eine Familie per Default zu erstellen. Ich muss gleichzeitig mehr Dokumentation erstellen. Aber dies kann in kleineren Schritten geschehen, wenn diese Infrastruktur einmal am Platz ist.

- Setze pg_am.amstrategies auf Null für indizierte AMs, die keine festen Operator Strategie Nummern haben, z.B. GiST und GIN. Dies ist fast Kosmetik genug, dass es keine catversion Erhöhung benötigt, aber da die opr_sanity Regression Tests in Sync mit dem Katalog sein müssen, ist es besser, ich setze eine.


Bruce Momjian checkte ein:

- Entferne unnötige Klammern in if() Statements in pgsql/src/backend/utils/adt/float.c

- Ändere in der VACUUM Manpage ein Wort von 'deleted' zu 'expired', do das DELETE und UPDATE klar von diesem Satz abgedeckt sind.

- Ändere die Dokumentation um klarzustellen, das es eine schlechte Idee ist, CREATE TYPE Namen mit einem Unterstrich beginnen zu lassen. Dies ist derzeit nicht verboten.

- Für GUC Werte, prüfe auf teilweise Stringmatches bei 'on' und 'off', aber verlange wenigstens zwei Zeichen für Eindeutigkeit. Dies ist nun gleich dem Verhalten für andere Bool Strings die wir unterstützen. Nach einem Report von Gurjeet Singh.

- Füge einen Link in der Developer FAQ hinzu über meinem Artikel, wie Firmen effektiv mit Open Source Communities zusammenarbeiten können.

- Geringfügige Änderungen in der XML Dokumentation um die gerade hinzugefügten Änderungen zu reflektieren.

- 8.3 Release ist für das Jahr 2007 geplant, nicht für 2006.

- Füge eine Zeitleiste für das nächste Release zur Developers FAQ hinzu.

- Ändere TODO Eintrag um die Erledigung für "Verbessere xid Umlauf Erkennung per Tabelle statt per Datenbank" zu reflektieren.


Peter Eisentraut checkte ein:

- Initiale SQL/XML Unterstützung: XML Datentyp und initialer Funktionenset, komplett mit Versionserhöhung und erwartete Ausgabekorrekturen.


Teodor Sigaev checkte ein:

- In tsearch2, repariere Konversation für 'PFX flag N num'.


== Abgelehnte Patches (bis jetzt) ==

Niemand wurde diese Woche enttäuscht :-)


== Schwebende Patches ==

Simon Riggs sandte einen Patch ein, der explain_analyze_timer laut der vorangegangenen Diskussion implementiert.

Tom Dunstan sandte eine neue Version seines Enum Patches ein, nun passend für HEAD, mit Dokumentation, Bound Checks und Fehlernummern.

ITAGAKI Takahiro sandte einen Patch für "load distributed checkpoint" laut seines folgenden Antrages.
http://archives.postgresql.org/pgsql-hackers/2006-12/msg00337.php

Glen Parker schlug einen Patch vor der zwei C Funktionen addiert, die n_live_tuples und n_dead_tuples zugänglich machen, SQL Funktionen, um diese in SQL zugänglich zu machen und ein korrosponierendes Feld zu pg_stat_all_tables hinzufügt.

Guillaume LeLarge sandte einen Patch ein der die Grossschreibung von DateStyle zu datestyle ändert und ihn damit näher an ähnliche Namen heranbringt.

Jeremy Drake sandte einen Patch ein der psql's \lo_* Befehle das -q Flag beachten lässt (und andere Methoden, die den Quiet Modus nutzen) sowie den HTML Ausgabemodus.

Bruce Momjian sandte einen Patch laut Roman Kononov's Report #2864 ein um Unterläufe und NAN besser zu handhaben.

PHP and version numbers

I just updated my local mirror of different documentations so i always have docs at hand, even if i'm working offline. So i went to the php.net website and then to the docs. Now try to find out, for which versions documentation is available ...

The only vaguely available clue is the date the documentation was built. There is no information, which versions are included and which not. Also no link pointing to older docs, not even for the 5.x releases. You have to use the "one size fits all" archive. Oh, thats really great work ...

Wie ärgert man Verkäuferinnen?

So geschehen im Mediamarkt dieser Tage:


Der Mediamarkt bietet derzeit eine Rabattaktion, bei der man Gutscheinkarten im Wert von 50 Euro für 40 Euro kaufen kann. Beim Bezahlen ist das jedoch etwas umständlich: die Seriennummer jedes Gutscheines wird eingescannt und irgendwohin übermittelt. Dieser Vorgang dauert ungefähr 15 Sekunden ... pro Gutschein, beim Kauf des Gutscheins und beim Bezahlen mit dem Gutschein.


Gut und schön, stehe also an der Kasse und denke mir: nutzt du das doch aus. Sage der netten Kassiererin, das ich so einen Gutschein kaufen und gleich damit bezahlen möchte. Das geht schon einmal nicht: Der Gutschein muss erst bezahlt werden, ehe er benutzt werden kann. Also wird zuerst der Gutschein bezahlt und eingebucht. Danach kann ich auch endlich meinen Artikel bezahlen. Das ganze dauert trotz Bargeld rund zwei Minuten. Kaum habe ich meine Sachen zusammen, höre ich das Mädchen hinter mit an der Kasse sagen: "Wie geht denn das mit dem Gutschein"? Das Gesicht der Kassiererin sprach Bände ;-)

Wöchentlicher PostgreSQL Newsletter - December 17 2006

Der Original Artikel befindet sich hier: http://people.planetpostgresql.org/dfetter/



== Wöchentlicher PostgreSQL Newsletter - December 17 2006 ==



Tom Lane und andere haben einen Entwurf für Operatorfamilien
zusammengestellt. Das Ergebnis dürften unter anderem sehr viel
einfachere Cross-Typ Vergleiche sein.

Das Internet Security Center (http://www.cisecurity.org/) wird einen
Satz Empfehlungen für ein sicheres PostgreSQL vorbereiten, der an die
US Regierung verteilt wird und auch für unsere Community verfügbar sein
wird. Für den Anfangsentwurf benötigt Josh Berkus einige Freiwillige
Hacker, die in den nächsten 3-4 Wochen für direkte Fragen vom Team zur
Verfügung stehen. Bitte maile an josh AT agliodbs . com wenn du
teilnehmen möchtest.


== PostgreSQL Produkt Neuigkeiten ==

Orafce 2.0.0 erschienen.
http://pgfoundry.org/projects/orafce/

pgFouine 0.7.2 erschienen
http://pgfoundry.org/projects/pgfouine/

PgPool 3.1.2 erschienen.
http://pgfoundry.org/projects/pgpool/
Slony-I 1.2.2 erschienen.
http://pgfoundry.org/frs/?group_id=1000122

PostgreSQL 8.2 ist jetzt in fink unstable.
http://fink.sourceforge.net/


== PostgreSQL Jobs im Dezember ==

http://archives.postgresql.org/pgsql-jobs/2006-12/threads.php


== PostgreSQL Local ==

Gavin Sherry veranstaltet eine PostgreSQL Minikonferenz in Sydney am
Dienstag dem 16. Januar 2007.
http://lca2007.linux.org.au/Miniconfs/PostgreSQL Wenn du teilnehmen
möchtest, maile gavin AT alcove . com . au


== PostgreSQL in den News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archive und gelegentliche News Artikel:
http://www.varlena.com/GeneralBits/

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Fetter, Devrim GUNDUZ und Dave Page.


== Angewandte Patches ==

Tom Lane checkte ein:

- Fügte ein paramtypmod Feld zu den Param Nodes hinzu. Das ist Ballast
für Parameter die externe Werte repräsentieren, da die API, die
derartige Werte enthält, nur type aber nicht typmod spezifiziert. Aber
für PARAM_SUBLINK Parameter ist es nützlich, die typmod Information der
Sublink Ausgabe Spalte mitzuführen. Dies ist eine sauberere Lösung für
die kürzlich gemeldeten 'could not find pathkey item to sort' und
'failed to find unique expression in subplan tlist' Fehler als mein
kürzlich eingecheckter 8.2-compatibler Patch. Ausserdem werden wir
vielleicht eines Tages typmods für externe Parameter unterstützen.

- Planer Fehler repariert um für einen entkoppelten Outer Join (ein
Join, dessen Join Bedingung keine Variablen von ausserhalb nutzt) einen
korrekten Plan zu erstellen, wenn ein "buschiger" Plan erstellt werden
soll. Die normale Heuristik, für Joins ohne Join Bedingung muss für
diesen Fall übergangen werden. Dieses Problem ist neu in 8.2, da wir
früher den Outer Join jedesmal erzwungen habe. Von Teodor.

- Füge einige inkorrekt entfernte #include wieder ein. Von Mark
Kirkwood.

- --with-ldap baut auf Unixware. Von Olivier Prenant.

- Packe JST zurück in die Liste der vorgegebenen Abkürzungen; wurde in
einem unerklärbaren Moment von Gedächtnisschwund entfernt.

- Repariere einige Planer Fehler, die von Arjen van der Meijden
gefunden wurden. Allesamt neu in der 8.2 Logik verbunden mit
Indizierbarkeit von ScalarArrayOpExpr (IN-clauses) oder der
Amortisation von Indexscan Kosten über wiederholte Indexscans innerhalb
eines Nested Loops. Im Detail: Repariere einige Logikfehler in der
Bewertung von mehrfachen Scans verursacht von ScalarArrayOpExpr
Vergleichen.

- Füge einen kleinen Kostenbetrag für Bitmap Index Scans ein um die
Kosten für die Manipulation der Bitmap selbst zu beachten; dies ist
vorwiegend dafür gedacht, die Kosten für einen einfachen Indexscan zum
Holen einfacher Tuples von den Kosten eines Bitmap Scans zu
unterscheiden.

- Ebenfalls wurde eine Per-Indexscan-Start per CPU Komponente
eingefügt; während frühere Versionen eindeutig zu pessimistisch über
die Kosten von wiederholten Indexscans waren, erlaubte der originale
8.2 Code, das die Kosten für einen Indexscan effektiv gegen Null gehen,
wenn er oft genug wiederholt wird. Das war eindeutig zu optimistisch.

- Richte etwas Aufmerksamkeit auf die Index Korrelation wenn die
erwarteten Kosten für einen nested Loop in einem inneren Indexscan
berechnet werden; dies ist signifikant, wenn der Plan mehrfach Tuples
in einem Durchlauf holt, denn eine hohe Korrelation meint das diese
Tuples in der gleichen oder naheliegenden Heap Page liegen.


Bruce Momjian checkte ein:

- FAQ Eintrag hinzugefügt um auf die Benutzung von COALESCE() zum
Verknüpfen von möglichen NULL Werten hinzuweisen.

- Entferne leere Zeilen in der HTML FAQ.

- Dokumentiere das log_line_prefix %t nicht die Zeitzone unter Win32
ausgibt.

- Ändere TODO von "Lasse EXPLAIN ANALYZE schlechte Optimierer
Schätzungen hervorheben" nach "EXPLAIN ANALYZE soll NOTICE Nachrichten
ausgeben, wenn die erwartete und die aktuelle Zeilenzahl mit einer
bestimmten Prozentzahl abweicht".

- Zu TODO hinzugefügt: Dokumentiere Fragen für SGML und XML:
http://archives.postgresql.org/pgsql-docs/2006-12/msg00033.php


Peter Eisentraut checkte die folgenden Patches ein:

- Erstelle einzelne Ziele für die druckbare Dokumentation in A4 und US
Letter Papier Formaten.

- Erlaube vergrößerte CPPFLAGs auf der Kommandozeile. Dies
funktionierte im Allgemeinen, aber einige Plattform Templates haben
dies ohne Nachfragen überschrieben.

- Aktiviere WIN32_STACK_RLIMIT Override nur auf Plattformen, wo dies
notwendig ist.

- Entferne Windows port^ W ^ W obsolete Template Datei.


Andrew Dunstan checkte die folgenden Patches ein:

- Aktiviere \timing Ausgaben für \copy Befehle.


== Abgelehnte Patches (bis jetzt) ==

Niemand wurde diese Woche enttäuscht :-)

Verschwörungen hoch drei

Da ich gerade etwas darüber recherchieren durfte, hier noch ein paar Blüten aus der Welt der Verschwörungen rund um 9/11:


- Das erste Flugzeug, dass in einen der Türme flog, hatte die Flugnummer 11. Dieser Flug hatte 92 Passagiere. 9+2=11

Der Flug hatte nicht die Flugnummer '11' sondern war ein American Airlines Flug mit der Flugnummer 'AA 11'. Ausserdem sind laut CNN Memorial List 89 Menschen im Flugzeug umgekommen, davon waren 12 Angestellte von AA und demzufolge wohl nicht alle Passagiere. Wie kommt man mit dieser Rechnung auf 92 Passagiere?

- Flugnummer 77, das ebenfalls in die Zwillingstürme flog hatte 65 Passagiere. 6+5=11

Die Flugnummer lautet auch hier nicht '77' sondern 'AA 77'. Laut CNN waren 59 Menschen an Bord, wovon 8 bei American Airlines beschäftigt waren. Die Rechnung geht also ebenfalls nicht ganz auf.

- Diese Tragödie fand am 11 September statt. Oder, wie es heute genannt wird, "9/11". 9+1+1=11

Die Quersumme aus 9 und 11 ist 20, nicht 11.
Edit: Ok, ok. Falsch gedacht.

- Insgesamt betrug die Anzahl aller Opfer in den entführten Flugzeugen 254.

Zähle ich, komme ich auf 216.

- Das Bombenattentat in Madrid am 11.3.2004 fand genau 911 Tage nach dem Attentat auf das WTC statt.

Oha, hier sollte man noch mal nachrechnen, ich komme auf 912 Tage.

- Tippe in Großbuchstaben Q33 NY (das ist die Nummer des Fluges, der zuerst in die Zwillingstürme einschlug)

Wie jetzt, war die Flugnummer nun '11' oder 'Q33 NY'? Und wieso werden hier auf einmal doch Buchstaben verwendet, sonst immer nur die Flugnummern? Aber abgesehen davon: ja, wenn man diese falsche Flugnummer einsetzt, erhält man das gewünschte Ergebnis.

How does your database count?

Just found out a curiosity which was only recently fixed:


If you ask a database for a SELECT COUNT(1) you expect to have a result of '1' counted (or get an error because of the missing FROM, like Oracle does). But Mysql until version 5.0.24a returns '0'. Starting with version 5.0.27 it returns the correct '1';


So Mysql was not only counting your input in a wrong way, the developers also changed the output behaviour during minor (bugfix) releases. Anybody seen a note about this change (which was not hidden in some dozen changelog pages)?

USA is seeking terrorists with Google

According to this Washington Post article, the State Department is now searching terrorists^Mpeople who are involved in the Iran nuclear weapon program in an entirely new way: by using a Google search. Those 12 people who got most host hits with the search term "Iran and nuclear" will become a potential target for international rebuke in an UN resolution. Needless to say, that there is no real evidence that this people are directly connected to the Iran nuclear activities.


It's time for another Google bomb ...