BUG #8141: multi-column check expression evaluating to NULL

From: andras(dot)vaczi(at)zalando(dot)de
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #8141: multi-column check expression evaluating to NULL
Date: 2013-05-08 13:07:00
Message-ID: E1Ua45E-0001tQ-Dd@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 8141
Logged by: Andras Vaczi
Email address: andras(dot)vaczi(at)zalando(dot)de
PostgreSQL version: 9.1.9
Operating system: linux/Ubuntu 12.10
Description:

Consider the following table with a CHECK constraint:

CREATE TABLE check_test
(
id integer NOT NULL,
col integer,
CONSTRAINT unique_with_null_check1 CHECK (col >= 1 AND id < 20)
);

This INSERT statement succeeds:

INSERT INTO check_test (id, col) VALUES (1, NULL);

While, col being NULL, the whole CHECK condition evaluates to NULL - this is
covered in the documentation.

But this is refused:
INSERT INTO check_test (id, col) VALUES (21, NULL);

ERROR: new row for relation "check_test" violates check constraint
"unique_with_null_check1"

I think this behaviour should be either also mentioned in the docs or
cosidered a bug.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2013-05-08 14:29:55 Re: BUG #8141: multi-column check expression evaluating to NULL
Previous Message workshop 2013-05-08 09:41:16 BUG #8140: wont start automatically