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 "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2013/06/19 09:03:20 UTC

[jira] [Updated] (DERBY-6269) Misleading warning text if you create an index duplicating a constraint.

     [ https://issues.apache.org/jira/browse/DERBY-6269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dag H. Wanvik updated DERBY-6269:
---------------------------------

    Urgency: Normal
     Labels: derby_triage10_11  (was: )

Triaged for 10.11
                
> Misleading warning text if you create an index duplicating a constraint.
> ------------------------------------------------------------------------
>
>                 Key: DERBY-6269
>                 URL: https://issues.apache.org/jira/browse/DERBY-6269
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>              Labels: derby_triage10_11
>
> If you try to create an index on a column which defines a unique constraint, the index is not created. That's fine. But you get a misleading warning suggesting that the index was created. We should correct the warning text so that it says that an index was not created. We should also consider making this situation an error, not a warning.
> This issue is probably related to DERBY-655 and DERBY-1343.
> Here is a script which shows this problem:
> ij version 10.11
> ij> connect 'jdbc:derby:memory:db;create=true';
> ij> create table t( a int unique, b int );
> 0 rows inserted/updated/deleted
> ij> -- raises a warning suggesting that a new index has been created
> create index t_1 on t( a );
> 0 rows inserted/updated/deleted
> WARNING 01504: The new index is a duplicate of an existing index: SQL130618085719940.
> ij> -- only the heap and the constraint exist
> select isIndex, conglomerateName, conglomerateID from sys.sysconglomerates c, sys.systables t
> where t.tableid = c.tableid and t.tablename = 'T';
> ISIN&|CONGLOMERATENAME                                                                                                                |CONGLOMERATEID                      
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> false|45b300a8-013f-5801-226b-000003b53310                                                                                            |0ddd00a9-013f-5801-226b-000003b53310
> true |SQL130618085719940                                                                                                              |f55fc0a6-013f-5801-226b-000003b53310
> 2 rows selected
> ij> -- fails because a new index wasn't really created
> drop index t_1;
> ERROR 42X65: Index 'T_1' does not exist.
> ij> select isIndex, conglomerateName, conglomerateID from sys.sysconglomerates c, sys.systables t
> where t.tableid = c.tableid and t.tablename = 'T';
> ISIN&|CONGLOMERATENAME                                                                                                                |CONGLOMERATEID                      
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> false|45b300a8-013f-5801-226b-000003b53310                                                                                            |0ddd00a9-013f-5801-226b-000003b53310
> true |SQL130618085719940                                                                                                              |f55fc0a6-013f-5801-226b-000003b53310
> 2 rows selected

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira