8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 16:43:03 +01:00

Make irb_multi_starting imply irb_starting.

This commit is contained in:
Adriano dos Santos Fernandes 2022-03-03 11:24:55 -03:00
parent 849849b68b
commit 024f81834a

View File

@ -1027,8 +1027,8 @@ void OptimizerRetrieval::getInversionCandidates(InversionCandidateList* inversio
{
if (textType->getFlags() & TEXTTYPE_MULTI_STARTING_KEY)
scratch.useMultiStartingKeys = true; // use INTL_KEY_MULTI_STARTING
else
scratch.usePartialKey = true;
scratch.usePartialKey = true;
}
}
@ -1311,7 +1311,10 @@ InversionNode* OptimizerRetrieval::makeIndexScanNode(IndexScratch* indexScratch)
retrieval->irb_generic |= irb_starting; // Flag the need to use INTL_KEY_PARTIAL in btr.
if (indexScratch->useMultiStartingKeys)
retrieval->irb_generic |= irb_multi_starting; // Flag the need to use INTL_KEY_MULTI_STARTING in btr.
{
// Flag the need to use INTL_KEY_MULTI_STARTING in btr.
retrieval->irb_generic |= irb_multi_starting | irb_starting;
}
// This index is never used for IS NULL, thus we can ignore NULLs
// already at index scan. But this rule doesn't apply to nod_equiv