El 03/05/2013 17:44, Alvaro Herrera escribió:
Oswaldo escribió:
El 03/05/2013 16:40, Martín Marqués escribió:

No. Con ese UPDATE, el valor debe ser NULL.

Exacto el update inserta un null, pero la columna esta definida como
tipo 't_dom' el cual no debe admitir nulos. Si en vez de ese update
haces este: "update test2 set dom=NULL;" si arroja el error de la
que la columma dom no admite nulos lo cual es correcto.

El problema es el momento en el cual la verificación de la restricción
NOT NULL tiene lugar.  Cuando haces "set dom = NULL" el valor se ve
forzado a pasar por la función de entrada del dominio, que se hace cargo
de verificar la restricción.  Pero cuando viene de un INSERT/SELECT
desde otra columna (o un OUTER JOIN), no pasa por la función de entrada.


Eso es lo que me temo que está pasando.

Por cierto, utilizo mucho los dominios y agradecería que si alguien conoce alguna otra incidencia que pueda suceder con ellos lo comentara. Me he pasado varios dias investigando el porqué habia un nulo en un sitio que me parecia imposible.

Gracias.

--
Oswaldo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a