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

Method printFoundOrder

src/jrd/optimizer/InnerJoin.cpp:729–760  ·  view source on GitHub ↗

Dump currently passed streams to a debug file

Source from the content-addressed store, hash-verified

727
728// Dump currently passed streams to a debug file
729void InnerJoin::printFoundOrder(StreamType position,
730 double positionCost,
731 double positionCardinality,
732 double cost,
733 double cardinality) const
734{
735 for (auto i = position - 1; i > 0; i--)
736 optimizer->printf(" ");
737
738 optimizer->printf(" #%2.2u, streams:", position);
739
740 auto iter = joinedStreams.begin();
741 const auto end = iter + position;
742 for (; iter < end; iter++)
743 {
744 const auto name = optimizer->getStreamName(iter->number);
745 optimizer->printf(" %u (%s)", iter->number, name.c_str());
746
747 if (iter != end - 1)
748 optimizer->printf(",");
749 }
750
751 optimizer->printf("\n");
752
753 for (auto i = position - 1; i > 0; i--)
754 optimizer->printf(" ");
755
756 optimizer->printf(" position cardinality (%10.2f), position cost (%10.2f),", positionCardinality, positionCost);
757 optimizer->printf(" cardinality (%10.2f), cost (%10.2f)", cardinality, cost);
758
759 optimizer->printf("\n");
760}
761
762// Dump finally selected stream order
763void InnerJoin::printStartOrder() const

Callers

nothing calls this directly

Calls 4

getStreamNameMethod · 0.80
printfMethod · 0.45
beginMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected