Deep indexing bugfix

I have pushed b9a10cafcc50c9d0656cc2bf93ebc7e1f4eb13d1 to swipl-devel.git that fixes a number of issues regarding deep indexing (indexing inside compound terms). These issues do not surface easily. They require a dynamic predicate that uses deep indexing and has (some) non-ground clauses while adding/deleting clauses changes the required index structure. Finally there should be enough queries to (re)create indexes.

The issues surfaced on a test program for the tabling (trie) data structures that creates random sets of terms and runs random queries against this set.

The bugs may lead to crashes as well as clauses not being found that should be found.

All tests pass. If you have programs that heavily depend on dynamic data that is both queried and changes a lot, please test.

1 Like