-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Usability
-
None
If you insert a record where one of the fields is too long to fit in an index then the record is omitted from the index and a single message ends up in the log. In any queries that use that index, the row is silently ignored. This is really bad behaviour as it gives wrong answers.
Suggestions are:
- Reject additions/updates where the record can't be indexed. This makes the limitation explicitly visible just as with the 4MB record size limit.
- Note that record in the index, but not the value. On a query using that index, use the index for all applicable rows and then visit the noted records checking their eligibility the non-indexed way. This will ensure that the vast majority of records get the performance benefit of an index while the small minority are checked slower, but there aren't many of them so it isn't that big a deal.
In either case the correct answer will be given to queries.