You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mike Matrigali (JIRA)" <de...@db.apache.org> on 2006/09/19 07:35:23 UTC

[jira] Updated: (DERBY-1854) SYSCS_COMPRESS_TABLE corrupts table with a single column which is both a primary key and a foreign key

     [ http://issues.apache.org/jira/browse/DERBY-1854?page=all ]

Mike Matrigali updated DERBY-1854:
----------------------------------

    Fix Version/s: 10.2.1.0

This one seems pretty serious since it looks like you basically lose your table if you do it, making it a candidate for 10.2.  I don't think it is a regression.  I have not had time to look at it.  If I had to guess it has the feel of a problem
with 2 indexes defined on the same column where the catalogs fudge it and make it look like 2 different indexes but in reality there is only one.  And then when compress table does a "bait and switch" trying to replace all tables and indexes it gets confused.  My guess is that this is a  problem at the upper layer and not store.  

> SYSCS_COMPRESS_TABLE corrupts table with a single column which is both a primary key and a foreign key
> ------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1854
>                 URL: http://issues.apache.org/jira/browse/DERBY-1854
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.1.3.0, 10.1.3.1
>         Environment: Reproduced on Linux, Win2k, and WinXP running JDK 1.4.2.x
>            Reporter: Chad Loder
>            Priority: Critical
>             Fix For: 10.2.1.0
>
>
> Running the following short SQL script from ij will cause an error "ERROR XSAI2: The conglomerate (817) requested does not exist.".  It appears that the SYSCS_COMPRESS_TABLE function corrupts tables that have a single column which is both a primary key and a foreign key.
> connect 'jdbc:derby:/testdb;create=true';
> CREATE TABLE users (
>  user_id INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
>  user_login VARCHAR(255) NOT NULL,
>  PRIMARY KEY (user_id));
> CREATE TABLE admins (
>  user_id INT NOT NULL,
>  PRIMARY KEY (user_id),
>  CONSTRAINT admin_uid_fk FOREIGN KEY (user_id) REFERENCES users (user_id));
>  
> INSERT INTO users (user_login) VALUES('TEST1');
> INSERT INTO admins VALUES (VALUES IDENTITY_VAL_LOCAL());
> CALL SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP', 'ADMINS', 0);
> SELECT * from admins;

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira