Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.

RLIST vs BTREE.EXTRACT

edited March 2021 in OpenInsight
I have a table with an indexed TEXT column. This column stores email addresses. Certain emails are not found by BTREE.EXTRACT but are found by RLIST. Doesn't RLIST use btree.extract under the hood? The only thing that the affected emails have in common, it seems, is that they all start with a number. I need to investigate this more though.

Comments

  • No, not all index searching via RList reduces down to Btree.Extract calls. However, if you have well formed indexes then RList and Btree.Extract should produce the same results. Having said that, there have been some index patches released for OI 9.4 (assuming this is what you are running). You should make sure all of these are applied. After that, you should make sure your dictionary is well configured for your indexes. Finally, delimiters in keys can also cause indexes to return unexpected results.
  • Thank you, but I just decided to use our SQL database instead. Not worth the trouble really.
  • If this is useful for anyone, we were able to fix this by changing the justification of the column from LEFT to RIGHT.
  • You are saying that you had to change the justification from LEFT to RIGHT for a TEXT column in order for BTREE.EXTRACT to work?
  • Yes.

    But BTREE.EXTRACT did mostly work. It's just that it failed for some inputs. Also weird how rlist didn't fail for these inputs.
  • I am reasonably confident that something is wrong with your index. As I already noted, RList doesn't necessarily use Btree.Extract, so different behavior is not entirely unexpected, especially if the index itself has a problem. I'd be very reluctant to trust your results with future searches even if you are getting seemingly valid results in this instance. Have you confirmed if your dictionary lengths set for your TEXT column and you Key ID(s) are correct? By "correct" I mean they should be set to a length that is at least one character wider than your longest value.
  • thanks, I will let my team know.
  • edited May 2021
    [post deleted]
Sign In or Register to comment.