Dump currently passed streams to a debug file
| 727 | |
| 728 | // Dump currently passed streams to a debug file |
| 729 | void 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 |
| 763 | void InnerJoin::printStartOrder() const |
nothing calls this directly
no test coverage detected