On 16/06/2020 13:00, Dmitry Yemanov wrote: > > Unfortunately, not exactly so. ConditionalStream is good only when > choice is between NATURAL and INDEX plans. It cannot be used when > choosing between good and bad index matches. > > Currently, your PR shows a regression for CORE-5236, subquery uses > another index (single-segment) while it used both segments of the > composite index before. I.e. injected ORs prevent good index matching. >
Looking at fbt test I see the difference, but that difference happens in the place when we look for a single record (when we have a null value we must known only if the stream has any record). If so, it should not matter, or not matter a lot. Or is it just the small part of the more general problem? Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel