You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2013/01/30 14:17:12 UTC

[jira] [Created] (OAK-597) Uniqueness validator instead of unique index

Thomas Mueller created OAK-597:
----------------------------------

             Summary: Uniqueness validator instead of unique index
                 Key: OAK-597
                 URL: https://issues.apache.org/jira/browse/OAK-597
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core, query
            Reporter: Thomas Mueller
            Priority: Minor


We currently have a few unique indexes that ensure only one node may exist for a given node type / property name / property value combination (for example the jcr:uuid needs to be unique).

While this works, I see some problems with this approach:

- Indexes might be removed by an admin or they might not be available due to misconfiguration.

- It (slightly) complicates the index implementation.

- The index needs to do something that is not obvious (the index has to act like a constraint / validator). Updating an index can fail for different reasons that have a different meaning: updating the index might fail due to duplicate key (which is not recoverable), and it might fail due to a conflict (which is recoverable).

Instead of using unique indexes, I propose to use a validator instead. The validator can internally run a query to check if such a value already exists.

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