| From: | Tim Landscheidt <tim(at)tim-landscheidt(dot)de> |
|---|---|
| To: | pgsql-de-allgemein(at)postgresql(dot)org |
| Subject: | Re: Trigger für DDL Änderungen |
| Date: | 2008-04-03 14:29:21 |
| Message-ID: | m3y77v9flq.fsf@lockfix.tim-landscheidt.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-de-allgemein |
Bernd Helmle <mailings(at)oopsware(dot)de> wrote:
>> Schwierig finde ich eigentlich nur, dass PostgreSQL bei
>> Views sehr verschwenderisch mit expliziten Casts umgeht.
>> Selbst NULLs bekommen den Datentyp der Zielspalte verpasst.
>> Eine View, die aus meiner Adressdatenbank die Straßenangaben
>> in Straße und Hausnummer trennt, wird dadurch zu:
> Ich verstehe diesen Einwand nicht. Nichts anderes passiert
> implizit intern mit deiner Query nachdem bspw. alles erstmal
> unknown' ist. Man kann eigentlich nur froh sein, das
> PostgreSQL und dessen Typesystem smart genug ist und dich
> nicht zwingt, das bereits bei deiner Eingabe zu
> spezifizieren (da gibts ganz andere Datenbanken....).
Ich bin aber keine Datenbank, und mein Parser braucht we-
sentlich länger für den Ausdruck:
| "substring"(addresses.street::text, 1, rindex("substring"(addresses.street::text, 1, "position"(addresses.street::text, ' - '::text) - 1)::character varying, ' '::character varying) - 1)
als für die Variante:
| SUBSTRING(Street, 1, RINDEX(SUBSTRING(Street, 1, POSITION(Street, ' - ') - 1), ' ') - 1)
vor allem, da ich bei der ersten Fassung bei jedem Wert prü-
fen muss, ob der Tabellenname oder der Cast hinzugefügt wur-
de, weil eine Verwechslungsmöglichkeit besteht oder nicht.
Insbesondere, wenn man Datenstrukturen anderer Autoren oder
eigener vergangener Zeiten (wieder) verstehen muss, geht ein
Großteil der Zeit und Konzentration sinnlos verloren.
Tim
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Olaf Radicke | 2008-04-03 19:31:36 | Re: Apache vs PostgreSQL |
| Previous Message | Bernd Helmle | 2008-04-03 14:04:17 | Re: Trigger für DDL Änderungen |