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

Anurag Shekhar updated DERBY-3330:
----------------------------------

    Attachment: derby-3330v11.diff

Description of patch (derby-3330v11.diff) 

Now the backing index for unique constraint, if all 
participating columns are not null able, will be a unique index.
For now its not possible to set columns as null able after 
creating unique constraint (DERBY-3456 addresses this). 

I have removed IndexDescriptorImpl_10_3 and handling 
additional attribute the way Dan has recommend. 

I am able to run junit tests without any failure.

derbyall harness tests has two failure
1. lang/db2Compatibility.sql
I have attached a separate diff (db2Compatibility.diff) to update the out files.
I am not sure if we should continue to call this test as db2Compatibility as 
this 
test is not ensuring compatibility anymore (able to create unique constraint 
over null able fields)

2.tools/derbyrunjartest.java
This failure was because of a missing class file in derbytools.jar 
(org.apache.derby.impl.tools.run). I am getting this problem in a 
fresh workspace too. So It might be something to do with my 
build environment and not the patch.

I have modified following files in harness test

1. org/apache/derbyTesting/functionTests/tests/lang/subqueryFlattening.sql
2. org/apache/derbyTesting/functionTests/master/subqueryFlattening.out

I have removed the additional test for unique constraint over null able field. 
This creation was supposed to fail and the output query tree was based on no
additional constraint. After allowing unique constraint over null able field 
an additional index was introduced which changed the query tree. After removing
the statement to create unique constraint over null able field I am getting 
same query tree as expected.

3. org/apache/derbyTesting/functionTests/master/altertable.out

Original out file was expecting the creation of unique constraint to 
fail over null able fields. Updated out file to expect it to succeed.

Other failures in harness test were because of change in backing index (from 
unique to non unique) for unique constraint over not null columns. They 
disappeared 
after making changes related to backing index.



> provide support for unique constraint over nullable columns
> -----------------------------------------------------------
>
>                 Key: DERBY-3330
>                 URL: https://issues.apache.org/jira/browse/DERBY-3330
>             Project: Derby
>          Issue Type: New Feature
>          Components: Store
>    Affects Versions: 10.4.0.0
>         Environment: all
>            Reporter: Anurag Shekhar
>            Assignee: Anurag Shekhar
>         Attachments: BTreeController.diff, derby-3330-testcase.diff, 
> derby-3330.diff, derby-3330v10.diff, derby-3330v11.diff, derby-3330v2.diff, 
> derby-3330v3.diff, derby-3330v4.diff, derby-3330v5.diff, derby-3330v6.diff, 
> derby-3330v7.diff, derby-3330v8.diff, derby-3330v9.diff, derbyall_report.txt, 
> FunctionalSpec_DERBY-3330-V2.html, FunctionalSpec_DERBY-3330.html, 
> UniqueConstraint_Implementation.html, 
> UniqueConstraint_Implementation_V2.html, 
> UniqueConstraint_Implementation_V3.html
>
>
> Allow unique constraint over nullable field. Right now derby support unique 
> constraint only over not null columns.

-- 
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