From: | Martín Marqués <martin(dot)marques(at)gmail(dot)com> |
---|---|
To: | Oswaldo <listas(at)soft-com(dot)es> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Posible Bug |
Date: | 2013-05-03 14:40:28 |
Message-ID: | CABeG9Lui2ei-5KRosW53nBh3767ORNFCykrg59kyjDJ_wWaxyA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
--
Martín Marqués
select 'martin.marques' || '@' || 'gmail.com'
DBA, Programador, Administrador
-
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 | Oswaldo | 2013-05-03 14:57:36 | Re: Posible Bug |
Previous Message | marcosrios | 2013-05-03 13:55:28 | Re: COPY TO a filename dinamico |