[ 
https://issues.apache.org/jira/browse/OAK-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15354670#comment-15354670
 ] 

Thomas Mueller commented on OAK-3403:
-------------------------------------

Unique indexes, what if we don't _prevent_ multiple entries for the same key at 
update time across mounts, but only check at query time? If we detect a 
duplicate key (one entry exists in different mounts), we log an error and 
either fail the query, or return the entry of a pre-defined mount (the "main" 
mount). Reason: we can anyway not prevent multiple entries for the same key 
because repositories could be created independently, and only combined 
(mounted) later on. Well maybe not right now, but that would be a desirable 
feature :-)


> Multiplexing store support in Property indexes
> ----------------------------------------------
>
>                 Key: OAK-3403
>                 URL: https://issues.apache.org/jira/browse/OAK-3403
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: query
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>         Attachments: OAK-3403-v1.patch
>
>
> In Oak one can define an index anywhere in the repository under a special 
> node name {{oak:index}}. For e.g. if you want a property index for 
> {{sling:resourceType}} at root level then you can create the index at 
> /oak:index/resourceType and this index would store the index content at 
> /oak:index/resourceType/:index.
> # Writing - At time of commit the IndexEditor would need to decide where the 
> indexed content for a given path should be stored. To start with it can make 
> use of PathToStoreMapper to decide which node to use the indexed content. For 
> e.g. for /libs the indexed content is stored under :index-pr and for /content 
> :index-sr is used. This is simpler for PropertyIndex where IndexStoreStrategy 
> can be passed the right node
> # Reading - At time of reading the QueryIndex implementation would need to 
> provide a union cursor which can perform lookup from all such store 
> directories for a given index. 
> *Open Items*
> # Supporting unique indexes
> # Introducing new oak:index - Node under oak:index node are special. 
> Depending on parent path it might be possible that they would have to be 
> created in both repositories. For e.g. /oak:index would have to be present in 
> both PR and SR. While /content/foo/oak:index can live only in SR. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to