SYSCS_COMPRESS_TABLE disables unique constraints
------------------------------------------------

                 Key: DERBY-4677
                 URL: https://issues.apache.org/jira/browse/DERBY-4677
             Project: Derby
          Issue Type: Bug
    Affects Versions: 10.6.1.0, 10.5.3.0, 10.5.1.1
         Environment: Output of sysinfo:
------------------ Java Information ------------------
Java Version:    1.6.0_20
Java Vendor:     Sun Microsystems Inc.
Java home:       C:\Program Files (x86)\Java\jre6
Java classpath:  .;C:\Program Files 
(x86)\Java\jre6\lib\ext\QTJava.zip;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derby.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbynet.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbyclient.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbytools.jar
OS name:         Windows 7
OS architecture: x86
OS version:      6.1
Java user name:  bmason
Java user home:  C:\Users\BMASON
Java user dir:   C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
java.runtime.version: 1.6.0_20-b02
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derby.jar] 10.6.1.0 - 
(938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbytools.jar] 
10.6.1.0 - (938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbynet.jar] 10.6.1.0 
- (938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbyclient.jar] 
10.6.1.0 - (938214)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/New Zealand [en_NZ]]
Found support for locale: [cs]
         version: 10.6.1.0 - (938214)
Found support for locale: [de_DE]
         version: 10.6.1.0 - (938214)
Found support for locale: [es]
         version: 10.6.1.0 - (938214)
Found support for locale: [fr]
         version: 10.6.1.0 - (938214)
Found support for locale: [hu]
         version: 10.6.1.0 - (938214)
Found support for locale: [it]
         version: 10.6.1.0 - (938214)
Found support for locale: [ja_JP]
         version: 10.6.1.0 - (938214)
Found support for locale: [ko_KR]
         version: 10.6.1.0 - (938214)
Found support for locale: [pl]
         version: 10.6.1.0 - (938214)
Found support for locale: [pt_BR]
         version: 10.6.1.0 - (938214)
Found support for locale: [ru]
         version: 10.6.1.0 - (938214)
Found support for locale: [zh_CN]
         version: 10.6.1.0 - (938214)
Found support for locale: [zh_TW]
         version: 10.6.1.0 - (938214)
------------------------------------------------------

            Reporter: Brett Mason


It appears that running SYSCS_UTIL.SYSCS_COMPRESS_TABLE on a table with a 
null-able unique constraint will disable the unique constraint. The script
below should reproduce the problem. The expected behaviour is for the second 
insert to fail due to the unique constraint but instead it is allowed. The 
second insert will fail as expected if either the call to SYSCS_COMPRESS_TABLE 
is skipped or if the column is declared NOT NULL.

I have reproduced the problem using embedded Derby 10.5.1.1, 10.5.3.0 and 
10.6.1.0 using ij.

CREATE TABLE TABLE1(NAME1 INT UNIQUE);

CALL SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP', 'TABLE1', 1);

INSERT INTO TABLE1(NAME1) VALUES(1);

INSERT INTO TABLE1(NAME1) VALUES(1);

SELECT * FROM TABLE1;

DROP TABLE TABLE1;


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to