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: | Raw Message | Whole Thread | 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 |