db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark La Rue (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-5111) NullPointerException on unique constraint violation with unique index
Date Tue, 08 Mar 2011 20:16:59 GMT
NullPointerException on unique constraint violation with unique index
---------------------------------------------------------------------

                 Key: DERBY-5111
                 URL: https://issues.apache.org/jira/browse/DERBY-5111
             Project: Derby
          Issue Type: Bug
          Components: SQL
    Affects Versions: 10.7.1.1, 10.6.2.1, 10.6.1.0
            Reporter: Mark La Rue


Given the below DDL, violations of the unique constraint (an example follows the DDL) specified
on table t1 will result in a NullPointerException that terminates the active connection. 
The root cause appears to be related to the unique indexes; removing them results in the correct
constraint violation.

CREATE TABLE s.t0 (t0_id INTEGER NOT NULL, value VARCHAR(75) NOT NULL);
ALTER TABLE s.t0 ADD CONSTRAINT pk_1 PRIMARY KEY (t0_id);

CREATE TABLE s.t1 (t1_id INTEGER NOT NULL, t0_id INTEGER NOT NULL, value VARCHAR(75) NOT NULL);
CREATE UNIQUE INDEX s.ui_1 ON s.t1 (t1_id);

ALTER TABLE s.t1 ADD CONSTRAINT pk_2 PRIMARY KEY (t1_id);
ALTER TABLE s.t1 ADD CONSTRAINT fk_1 FOREIGN KEY (t0_id) REFERENCES s.t0 (t0_id) ON DELETE
CASCADE;
CREATE UNIQUE INDEX s.ui_2 ON s.t1 (t0_id, value);
ALTER TABLE s.t1 ADD CONSTRAINT uc_1 UNIQUE (t0_id, value);

Minimal DML to trigger the constraint violation:

INSERT INTO s.t0 VALUES (0, 'foobar');
INSERT INTO s.t1 VALUES(0, 0, 'Test');
INSERT INTO s.t1 VALUES(1, 0, 'Test');

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message