PostgreSQL
Grundlagen, Praxis, Anwendungsentwicklung mit PHP |
Erschienen im dpunkt-Verlag, September 2002
|
Errata |
Trotz sorgfältigem Lesen haben wir leider einige Fehler in diesem Buch übersehen.
|
| Seite 35 | Vor dem letzten Absatz ist die Befehlszeile falsch. Richtig ist:
/usr/bin/postmaster -D -i /var/lib/pgsql/data
|
| Seite 64 | Bei dem abgedruckten INSERT-Kommando ist ein Zeilenumbruch verrutscht. So sollte es aussehen: docgen=# INSERT INTO autoren2 (a_id, a_vorname, a_name, docgen-# a_ort, a_gebdat) SELECT
|
| Seite 135 | In der Abbildung 7-2 haben die Felder k_nr in der Tabelle kapitel und uk_nr in der Tabelle ukapitel den Datentyp VARCHAR. In der Anwendung wurde stattdessen der Datentyp SMALLINT verwendet, da sonst die Kapitelnummern lexikalisch sortiert würden. Die Nummern der Unterkapitel werden in der Anwendung aus der k_nr und uk_nr zusammengesetzt.
|
| Seite 145 | In der ersten Ausgabe von psql auf dieser Seite ist der CHECK-Constraint zweimal für das Feld l_name definiert. Dieser Constraint muss einmal für das Feld l_name und einmal für das Feld l_pwd definiert werden. Korrektur:
docgen=# CREATE TABLE login (
docgen-# l_name varchar(10) NOT NULL
docgen-# CHECK (length(trim(both FROM l_name)) >= 5),
docgen-# l_pwd varchar(10) NOT NULL
docgen-# CHECK (length(trim(both FROM l_pwd)) >= 5),
docgen-# fk_m_id int4,
docgen-# UNIQUE (l_name, l_pwd)
);
|
| Seite 149 | Der Name der Funktion currval() wurde nur mit einem 'r' geschrieben. Richtig ist:
currval()
|
| Seite 156 | Die GRANT und REVOKE-Kommandos für die Tabelle ptext beziehen sich auf eine Tabelle text. Richtig ist:
REVOKE ALL on ptext from PUBLIC; GRANT ALL on ptext to apache;
|
| Seite 161/162 | Bei den INSERT-Kommandos zum Einfügen eines Unterkapitels müssen die Kapitelnummern als SMALLINT angegeben werden. Korrektur:
INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (1, 'Zum Einsatz von Datenbanksystemen', currval('kapitel_k_id_seq')); und auf Seite 162 oben
INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (1, 'Was sind Objekte', currval('kapitel_k_id_seq')); bzw.
INSERT INTO ukapitel (uk_nr, uk_titel, fk_k_id) VALUES (1, 'Elemente des Objektmodells', currval('kapitel_k_id_seq')); Die Kapitelnummern stehen ebenfalls in Hochkommas, das ist zwar nicht notwendig, es schadet aber auch nicht. PostgreSQL erkennt, dass es sich hier um Zahlenwerte handelt. Eine korrigierte Version dieser Datei finden Sie hier.
|
| Seite 178 | Im Quelltext für die Indexseite fehlt das schließende Anführungszeichen bei der Farbangabe (drittletzte Zeile). Korrektur:
echo '<td bgcolor="#ffcc33">Fehler: '.$msg.'</td>';
|
| Seite 187 | Im zweitletzten Absatz des Codes von list_katalog.php fehlt der schliessende </a>-Tag. Korrektur:
echo '<tr><td><a href = "list_publikationen.php?tb = '.urlencode($zeile["t_bereich"]).'">'.$zeile["t_bereich"].'</a></td> <td>'.$zeile["t_inhalt"].'</td></tr>';
|
| Seite 189 | In dem PHP Funktionsprototyp fehlt eine öffnende Klammer. Korrektur:
mixed pg_fetch_result (resource result, int row_number, mixed field)
|
| Seite 207 | In der ersten Zeile der Seite 207 (Programmlisting list_publikationen.php) fehlt der schliessende </a>-Tag. Korrektur:
echo '<td><a href = "publikation.php?pid='.$zeile[0].'">anzeigen</a></td></tr>';
|
| Seite 217 | In die erste Zeile der Seite 217 (Programmlisting list_autor_pub.php) ist ein Semikolon zuviel hineingeraten. Korrektur:
echo '<td bgcolor="FFCC33"><img src="spacer.gif" width="10" height="1" border="0">';
|
| Seite 226 | Im zweiten Codeblock fehlt die abschließende Zeile (schleßende Klammer samt Semikolon). Korrektur:
...
docgen-# AND m_id NOT IN docgen-# (SELECT fk_m_id FROM login docgen-# ); DELETE 1
|
| Seite 290 | Unten auf der Seite wird eine Tabelle 'regeltest' definiert, auf die sich die folgenden Beispiele beziehen. Die Tabelle muss 'regeln' heissen. Korrektur:
dgtest=# CREATE TABLE regeln (vname VARCHAR(10), name VARCHAR(15), fiktiv BOOLEAN);
|
| Seite 320 | Im ersten Absatz von "Cursors in PL/pgSQL" muss der Verweis auf Kapitel 13.6 durch einen Verweis auf Kapitel 11.6 ersetzt werden.
|
Sollten Sie Fehler finden, freue ich mich über eine E-mail an c@pgsql.info. |