Re: Implizite lossy Typecasts bei INSERTs

From: Tim Landscheidt <tim(at)tim-landscheidt(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Implizite lossy Typecasts bei INSERTs
Date: 2008-12-29 16:23:29
Message-ID: m363l3gdby.fsf@lockfix.tim-landscheidt.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:

>> mir fiel neulich auf, dass:
>> | tim=# SELECT version();
>> | version
>> | -------------------------------------------------------------------------
>> |------------------------------ PostgreSQL 8.3.5 on i386-redhat-linux-gnu,
>> | compiled by GCC gcc (GCC) 4.3.2 20081007 (Red Hat 4.3.2-6) (1 Zeile)
>> |
>> | tim=# CREATE TABLE Test (i INT);
>> | CREATE TABLE
>> | tim=# INSERT INTO Test (i) VALUES (3.1415);
>> | INSERT 0 1
>> | tim=# SELECT * FROM Test;
>> | i
>> | ---
>> | 3
>> | (1 Zeile)
>> |
>> | tim=#

>> ohne Fehlermeldung durchläuft. Irgendwo in meinem Gedächtnis
>> schlummert die Erinnerung, dass das früher anders war. Ehe
>> ich die release notes der letzten Jahre noch einmal durchge-
>> he :-): War das wirklich jemals anders?

> Nur mal um das Verständnis vielleicht zu verbessern: Obiger Fall ist
> kein "impliziter" Typecast im Sinne von CREATE CAST ... AS IMPLICIT, sondern
> AS ASSIGNMENT, weil hier die Zuweisung eines Wertes in einen Speicherort mit
> festgelegtem Typ stattfindet. Implizite Typecasts, die "lossy" sind, sollte
> es nicht geben (zumindest in neueren Versionen), aber im Fall AS ASSIGNMENT
> kann das schon vorkommen, hauptsächlich, wenn der SQL-Standard danach
> verlangt.

Danke für die Erläuterung (und Andreas für den Test). Das
"implizit" bezog sich auch nur auf die Anwendersicht (es er-
innerte mich an unschöne Erfahrungen mit dem Import von Ka-
lenderdaten früher - da hat es auch jedes Datum implizit
konvertiert :-)).

Aber wenn es Teil des Standards ist, werde ich wohl damit
leben müssen.

Tim

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas 'ads' Scherbaum 2009-01-05 23:31:29 == Wöchentlicher PostgreSQL Newsletter - 04. Januar 2009 ==
Previous Message Andreas 'ads' Scherbaum 2008-12-29 10:19:01 == Wöchentlicher PostgreSQL Newsletter - 28. Dezember 2008 ==