Remove Legacy Range Index - #621
Conversation
adamretter
commented
May 4, 2015
- Closes Remove legacy range-index (NativeValueIndex) #581
5ba7f3b to
6f6dd0a
Compare
There was a problem hiding this comment.
Is this a new feature - the ability to define certain nodes as IDs, i.e., which could be located with the id() function rather than needing a predicate-style lookup like //node[. = $id]?
|
@joewiz In the past eXist would automatically index ID or IDREF node types identified by the XML parser (Xerces). eXist used the legacy range index for this. This meant that indexes were always used when calling To remove the legacy range index I have had to move index support for <collection xmlns="http://exist-db.org/collection-config/1.0">
<index>
<!-- Range index for fn:id and fn:idref -->
<range>
<ID/>
<IDREF/>
</range>
</index>
</collection> |
|
Got it - makes sense! Somehow I never paid attention to |
|
Also, will |
|
@joewiz Without testing I can't be certain but I would not expect much difference between To answer your second question, yes the value of an |
|
Sounds great! Thanks so much. |
|
Shouldn't we pull this in? For me, the change is too complex to review it in a short time, sorry. |
|
I tested upgrading various apps to the new range index and it is not yet as smooth as it should be. In some cases I received different results after upgrading. This is probably due to bugs and not this pull request, but before we pull, we have to test it out and fix the main roadblocks, so users can upgrade safely. I'm working on it, but it takes some time because those are complex issues. |
|
@wolfgangmm Understood. Can you give me an idea of a time frame though, this one is blocking me from working on other things. |
|
Ok thnx for the feedback... |
|
I hope to have the main issues fixed until the end of the week. |
|
@wolfgangmm Do you have test cases? If I assisted would that help speed things up or are you better left to it? |
|
small optimization, line https://github.com/adamretter/exist/blob/feature/remove-legacy-range-index/src/org/exist/dom/persistent/ElementImpl.java#L1472 can be deleted |
|
how critical to have |
|
@wolfgangmm How has the testing progressed? |
|
@adamretter I'm about to send a pull request to fix the issue with != being processed like =. Just running the test suite right now. I have also been able to extract a test case which demonstrates that under certain circumstances, the new range index is 10 times or more slower than the legacy range index. I'm not sure if this needs to be fixed before merging your PR, but it would be good if we could sort it out as it may hit quite a lot of users. |
ae727cb to
6b38e21
Compare
706f647 to
1bfe271
Compare
5cee0dc to
5189ca7
Compare
0de56bb to
bcec786
Compare
|
In the 2018-05-07 call, @duncdrum noted:
@duncdrum Could you please add a note here about what "functional updates to indexing" are missing that are preventing us from merging this in? Thanks! |
|
@joewiz rebasing this and making sure it works as expected is a lot of work. @adamretter mentioned further tweaks to indexing he has in the pipeline. Instead of working to push this out now, we agreed to revisit it when other changes to indexing necessitate the removal of the old index |
|
@adamretter You asked about the status of this issue in Slack. In #581 (comment), @wolfgangmm wrote:
(Wolfgang, you meant I believe the |
|
Could one workaround be to allow the use of |
I wonder if we could not just translate the XQuery regex for Could we not just automatically rewrite the regular expression from e.g. |
|
@wolfgangmm reports that |
|
@wolfgangmm In last week's community call you said you would check to make sure that xml:id attributes were being automatically indexed; once we're sure this is so, if @adamretter can be assured that we do want to remove the legacy range index, he is willing to update the PR and remove it. |
|
@wolfgangmm By chance, have you been able to check whether The last time we discussed removing the legacy range index, that question was your key concern. Besides that question, were there any other concerns you had about removing the legacy range index? I'm just checking in on the status of this because it's a move that would require a new major version—so perhaps we could consider it as part of eXist 6? |
|
@wolfgangmm Could you please check to confirm if |
|
@wolfgangmm Could you please check to confirm if @xml:id attributes are automatically indexed or not in eXist 5.x? If they are, then we can confidently remove the legacy range index. Thanks! |
|
@wolfgangmm Could you suggest a path forward for this issue? Thank you! |
|
If we "confidently remove the legacy range index", what will happen to applications that currently use I would be happy to hear that this issue has been anticipated, addressed, and resolved, and that I just missed the memo. |
|
We should see if the legacy range index can now be removed. |
|
@line-o It can't yet be removed without breaking the index for id and idref |