From: | Oswaldo <listas(at)soft-com(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Posible Bug |
Date: | 2013-05-03 14:57:36 |
Message-ID: | 5183D060.5080304@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 03/05/2013 16:40, Martín Marqués escribió:
> El día 3 de mayo de 2013 08:43, Oswaldo <listas(at)soft-com(dot)es> escribió:
>> Hola,
>>
>> Creo que he detectado un bug, pero antes de reportarlo os agradecería
>> comprobaseis si la demostración es correcta y si también sucede en otras
>> versiones de postgres. También desconozco si es un bug ya conocido.
>>
> [.....]
>
>> Para reproducirlo ejecutar esta secuencia:
>>
>> begin;
>>
>> create domain t_dom as varchar default '' not null;
>>
>> create table test1 (id int, dom t_dom);
>> create table test2 (id int, dom t_dom);
>>
>> insert into test2 (id) values (1);
>> update test2 set dom = (select dom from test1 where test1.id = test2.id);
>> select * from test2;
>
> test1 no tiene filas, por lo tanto la consulta del sub-query "select
> dom from test1 where test1.id = test2.id" retornará 0 filas,
> insertando un NULL.
>
> Una de las cosas que debe saber cualquier desarrollador que trabaje
> con SQL es tener MUCHO cuidado con los valores Nulos ya que a veces
> son impredecibles.
>
>> En el resultado final la columna 'dom' tiene un valor NULL cuando según las
>> reglas definidas esto no deberia ser posible y se deberia haber producido
>> una excepción.
>
> 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.
--
Oswaldo
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2013-05-03 15:10:22 | Re: Posible Bug |
Previous Message | Martín Marqués | 2013-05-03 14:40:28 | Re: Posible Bug |