Disallow varstrings in the keyed portion of a key

Description

Varstrings are terminated with a character with value \0, and cause issues if they are used as keyed fields in an index.

Two possible guesses at what is going on. Maybe the data after the trailing 0 is uninitialized, and is sorted by the strings, but not if you include the data following the trailing 0. Or it could be that when searching for elements in the key that uninitialized data after the 0 is causing grief.

Either way we should report an error if you try and use them in the keyed portion of an index – since they’re likely to cause problems and don't provide any benefit. (If you really need an exact string match including length, match a string<n> and store a separate length..)

Conclusion

None
100% Done
0

Activity

Show:

Gavin Halliday November 5, 2014 at 1:31 PM

Actually, what it looks like it was doing (from an example query) is not using a keyed filter at all on the varstring, and then post-filtering. No surprise the performance was terrible!

Lorraine Chapman November 5, 2014 at 12:51 PM

This is related to problems was having recently.
, - There will be documentation implications for this issue.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Labels

Created November 5, 2014 at 9:14 AM
Updated January 28, 2015 at 5:00 PM
Resolved January 28, 2015 at 5:00 PM

Flag notifications