Re: Posible Bug

From: Alvaro Herrera <alvherre(at)2ndquadrant(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 15:10:22
Message-ID: 20130503151021.GC2467@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Oswaldo escribió:

> 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;
>
>
> 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.

Hola, no tengo claro que esto sea un bug, pero como es un caso de borde,
siéntete libre de reportarlo y ver qué opinan los desarrolladores.

El problema es que la idea de poner restricciones NOT NULL a un dominio
no está muy bien definida. Si en cambio pones un NOT NULL en la
definición de la columna de la tabla, no hay falla:

create domain t_dom2 as varchar default '';

create table test3 (id int, dom t_dom2 not null);
create table test4 (id int, dom t_dom2 not null);

insert into test4 (id) values (1);
update test4 set dom = (select dom from test3 where test3.id = test4.id);
-- el update da un error
select * from test4;

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2013-05-03 15:12:53 Re: Posible Bug
Previous Message Oswaldo 2013-05-03 14:57:36 Re: Posible Bug