MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / getDependentSelectivity

Method getDependentSelectivity

src/jrd/optimizer/Optimizer.cpp:1199–1215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1197//
1198
1199double Optimizer::getDependentSelectivity()
1200{
1201 StreamStateHolder stateHolder(csb, compileStreams);
1202 stateHolder.activate();
1203
1204 double selectivity = MAXIMUM_SELECTIVITY;
1205 for (const auto stream : compileStreams)
1206 {
1207 Retrieval retrieval(tdbb, this, stream, false, false, nullptr, true);
1208 const auto candidate = retrieval.getInversion();
1209
1210 if (candidate->dependencies)
1211 selectivity *= candidate->selectivity;
1212 }
1213
1214 return selectivity;
1215}
1216
1217
1218//

Callers 1

deliverJoinConjunctsMethod · 0.80

Calls 2

getInversionMethod · 0.80
activateMethod · 0.45

Tested by

no test coverage detected