[ https://issues.apache.org/jira/browse/DERBY-3330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560070#action_12560070 ]
Anurag Shekhar commented on DERBY-3330: --------------------------------------- I am following Mike's approach ie internally unique constraint will be backed by no unique index but during insert, checking the immediate left and right slot to find duplicate (if there is no null in the new key). If a duplicate key is found it the insert will be rejected. I will be introducing a new attribute in BTree to tell the insert routine that its not a non unique index but almost unique index. New attribute in BTree will be a persistant attribute so the file system will not be compatible with the older versions and will require a hard upgrade routine to migrate the old indexes to new version. While creating the constraint on a table with existing records merge short is perform to sort the keys before creating index. A new merge short class will be required to sort this almost unique index (allowing duplicates only if there is null in it). > 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 > > 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.