MCPcopy Create free account
hub / github.com/duckdb/duckdb / SetPager

Function SetPager

tools/shell/shell_metadata_command.cpp:740–794  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

738}
739
740MetadataResult SetPager(ShellState &state, const vector<string> &args) {
741 if (args.size() == 1) {
742 // Show current pager status
743 string mode_str;
744 switch (state.pager_mode) {
745 case PagerMode::PAGER_OFF:
746 mode_str = "off";
747 break;
748 case PagerMode::PAGER_ON:
749 mode_str = "on";
750 break;
751 case PagerMode::PAGER_AUTOMATIC:
752 mode_str = "automatic";
753 break;
754 }
755 state.PrintF("Pager mode: %s\n", mode_str);
756 if (state.pager_mode == PagerMode::PAGER_AUTOMATIC) {
757 string page_mode = StringUtil::Format("Trigger pager when rows exceed %d", state.pager_min_rows);
758 if (state.max_width == 0) {
759 page_mode += " or result set is wider than terminal";
760 } else {
761 page_mode += StringUtil::Format(" or result set is wider than %d characters", state.max_width);
762 }
763 state.Print(page_mode);
764 }
765 if (state.pager_mode != PagerMode::PAGER_OFF || !state.pager_command.empty()) {
766 state.PrintF("Pager command: %s\n", state.pager_command);
767 }
768 return MetadataResult::SUCCESS;
769 }
770 if (args[1] == "set_row_threshold") {
771 if (args.size() != 3) {
772 return MetadataResult::PRINT_USAGE;
773 }
774 idx_t limit = (idx_t)state.StringToInt(args[2]);
775 state.pager_min_rows = limit;
776 return MetadataResult::SUCCESS;
777 }
778 if (args.size() != 2) {
779 return MetadataResult::PRINT_USAGE;
780 }
781 if (args[1] == "on") {
782 state.pager_mode = PagerMode::PAGER_ON;
783 if (state.pager_command.empty()) {
784 state.pager_command = state.GetSystemPager();
785 }
786 } else if (args[1] == "off") {
787 state.pager_mode = PagerMode::PAGER_OFF;
788 } else if (args[1] == "automatic") {
789 state.pager_mode = PagerMode::PAGER_AUTOMATIC;
790 } else {
791 state.pager_command = args[1];
792 }
793 return MetadataResult::SUCCESS;
794}
795
796static const MetadataCommand metadata_commands[] = {
797 {"bail", 2, ToggleBail, "on|off", "Stop after hitting an error. Default OFF", 3, ""},

Callers

nothing calls this directly

Calls 6

StringToIntMethod · 0.80
GetSystemPagerMethod · 0.80
sizeMethod · 0.45
PrintFMethod · 0.45
PrintMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected