| 612 | } |
| 613 | |
| 614 | void SortingStep::describeActions(FormatSettings & settings) const |
| 615 | { |
| 616 | const String & prefix = settings.detail_prefix; |
| 617 | |
| 618 | if (!prefix_description.empty()) |
| 619 | { |
| 620 | settings.out << prefix << "Prefix sort description: "; |
| 621 | dumpSortDescription(prefix_description, settings); |
| 622 | settings.out << '\n'; |
| 623 | |
| 624 | settings.out << prefix << "Result sort description: "; |
| 625 | dumpSortDescription(result_description, settings); |
| 626 | settings.out << '\n'; |
| 627 | } |
| 628 | else |
| 629 | { |
| 630 | settings.out << prefix << "Sort description: "; |
| 631 | dumpSortDescription(result_description, settings); |
| 632 | settings.out << '\n'; |
| 633 | } |
| 634 | |
| 635 | if (limit) |
| 636 | settings.out << prefix << "Limit " << limit << '\n'; |
| 637 | |
| 638 | if (!limit_by_columns.empty() && !(type == Type::FinishSorting && prefix_description.size() < result_description.size())) |
| 639 | { |
| 640 | settings.out << prefix << "Per-stream LIMIT BY columns: "; |
| 641 | |
| 642 | bool first = true; |
| 643 | for (const auto & column : limit_by_columns) |
| 644 | { |
| 645 | if (!first) |
| 646 | settings.out << ", "; |
| 647 | first = false; |
| 648 | |
| 649 | settings.out << (settings.pretty ? QueryPlanFormat::formatColumnPretty(column, settings.pretty_names) : column); |
| 650 | } |
| 651 | settings.out << '\n'; |
| 652 | |
| 653 | settings.out << prefix << "Per-stream LIMIT BY length " << limit_by_group_length << '\n'; |
| 654 | } |
| 655 | } |
| 656 | |
| 657 | void SortingStep::describeActions(JSONBuilder::JSONMap & map) const |
| 658 | { |
nothing calls this directly
no test coverage detected