App-DBBrowser

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

2.441   2026-05-15
    - Raised required minimum version for Term::TablePrint (Bugfix header stringification).
    - SQLite: bugfix in checking table name duplicates in create table with qualified table names.
    - Update option menu.

2.440   2026-04-11
    - Raised required minimum version for Term::TablePrint (Bugfix scientific notation).

2.439   2026-02-23
    - Raised required minimum version for Term::Choose and Term::TablePrint.
    - New output option expanded line spacing.
    - Update year copyright.


2.438   2025-12-25
    - Backwards incompatible changes:
        Table names and column names are not quoted by default.
        Saved subqueries: saved at plugin level instead at driver level.
        Changes in how configuration data is saved.
    - Bug fixes:
        Bug fix in quoting attached databases.

Changes  view on Meta::CPAN

        - Unicode 17.

2.431  2025-06-06
        - Update history for date_add and data_substract.
        - Update available columns for extended expressions.
        - Makefile.PL: added back the 'dist' section.

2.430  2025-05-13
        - Update aggregate functions 'count' and 'group_concat'.
        - Term::TablePrint minimum version 0.172.
        - New option 'maximum with expanded table row'.

2.429  2025-05-05
        - Term::TablePrint minimum version 0.171.
        - Added 'List::MoreUtils::XS' to prereq_pm.
        - New option 'Pad Row Edges'.

2.428  2025-04-27
        - Perl minimum version 5.16.0.
        - Term::TablePrint minimum version 0.170.
        - Bugfix for Perls prior to 5.26.0: do not use ternary operator with bare length.

bin/db-browser  view on Meta::CPAN

Set the number of spaces between columns.

=head3 Expand Table Rows

Expand table rows:

=over

=item C<YES>

If C<Return> is pressed, the selected table row is printed with each column in its line. The first row is not expanded
if the cursor auto-jumped to the first row.

=item C<NO>

Don't expand table rows.

=back

=head3 Expanded rows line spacing

Insert a blank line between columns when a row is expanded. See option L</Expand Table>.

=head3 Expanded rows max width

Set a maximum width of the expanded table row output. I<Expanded rows max width> set to C<0> means no maximum width. See
option L</Expand Table>.

=head3 Column Trim Threshold

Columns with a width below or equal to I<Column trim threshold> are only trimmed if it is still necessary to reduce the
row width, even after all columns wider than I<Column trim threshold> have been trimmed to I<Column trim threshold>.

=head3 DB2 Encoding

For C<DB2> databases only: set the application code set.

lib/App/DBBrowser/Options/Defaults.pm  view on Meta::CPAN

            choose_columns    => 0, # not an option, always 0
            codepage_mapping  => 0, # not an option, always 0
            hide_cursor       => 0, # not an option, always 0
            max_rows          => 0, # not an option, always 0
            page              => 2, # not an option, always 2

            binary_filter         => 0,
            binary_string         => 'BNRY',
            color                 => 0,
            col_trim_threshold    => 30,
            expanded_line_spacing => 1,
            expanded_max_width    => 0,
#            mouse                => 0,
            pad_row_edges         => 0,
            progress_bar          => 60_000,
            search                => 1,
            squash_spaces         => 0,
            tab_width             => 2,
            table_expand          => 1, # expand_table_rows ##
            trunc_fract_first     => 1,
            undef                 => '',
        },
        insert => {
            file_encoding            => 'UTF-8',
            history_dirs             => 4,
            parse_mode_input_file    => 0,
            enable_input_filter      => 1,
            empty_to_null_plain      => 1,
            empty_to_null_file       => 1,

lib/App/DBBrowser/Options/Menus.pm  view on Meta::CPAN

        ],
        group_output => [
            { name => '_binary_filter',         text => "- Binary filter",              section => 'table' },
            { name => '_squash_spaces',         text => "- Squash spaces",              section => 'table' },
            { name => '_set_string',            text => "- Undef string",               section => 'table' },
            { name => '_color',                 text => "- Color",                      section => 'table' },
            { name => 'trunc_fract_first',      text => "- Trunc fract first",          section => 'table' },
            { name => '_base_indent',           text => "- Indentation SQL",            section => 'G'     },
            { name => '_pad_row_edges',         text => "- Pad row edges",              section => 'table' },
            { name => 'tab_width',              text => "- Tab width",                  section => 'table' },
            { name => '_expand_rows',           text => "- Expand table rows",          section => 'table' },
            { name => '_expanded_line_spacing', text => "- Expanded rows line spacing", section => 'table' },
            { name => 'expanded_max_width',     text => "- Expanded rows max width",    section => 'table' },
            { name => 'col_trim_threshold',     text => "- Column trim threshold",      section => 'table' },
        ],
        group_import => [
            { name => '_parse_file',        text => "- Parse tool",        section => 'insert' },
            { name => '_csv_in_char',       text => "- CSV options a",     section => 'csv_in' },
            { name => '_csv_in_options',    text => "- CSV options b",     section => 'csv_in' },
            { name => '_split_config',      text => "- Settings 'split'",  section => 'split'  },
            { name => '_input_filter',      text => "- Input filter",      section => 'insert' },
            { name => '_empty_to_null',     text => "- Empty to null",     section => 'insert' },
            { name => '_file_encoding_in',  text => "- File encoding",     section => 'insert' },

lib/App/DBBrowser/Options/Menus.pm  view on Meta::CPAN

        my $prompt = 'Set the tab width ';
        $sf->__choose_a_number_wrap( $info, $lo, $section, $sub_group, $prompt, $digits, 0 );
    }
    elsif ( $sub_group eq '_pad_row_edges' ) {
        my $prompt = '"Pad row edges"';
        my $sub_menu = [
            [ 'pad_row_edges', "- Pad row edges with a space.", [ $no, $yes ] ]
        ];
        $sf->__settings_menu_wrap( $info, $lo, $section, $sub_menu, $prompt );
    }
    elsif ( $sub_group eq '_expand_rows' ) {
        my $prompt = 'Your choice: ';
        my $sub_menu = [
            [ 'table_expand', "- Expand table rows", [ $no, $yes ] ],
        ];
        $sf->__settings_menu_wrap( $info, $lo, $section, $sub_menu, $prompt );
    }
    elsif ( $sub_group eq '_expanded_line_spacing' ) {
        my $prompt = 'Your choice: ';
        my $sub_menu = [
            [ 'expanded_line_spacing', "- Blank line between columns when a row is expanded.", [ $no, $yes ] ],
        ];
        $sf->__settings_menu_wrap( $info, $lo, $section, $sub_menu, $prompt );
    }
    elsif ( $sub_group eq 'expanded_max_width' ) {
        my $digits = 3;
        my $prompt = 'Maximum width of expanded table rows';
        $sf->__choose_a_number_wrap( $info, $lo, $section, $sub_group, $prompt, $digits, 0 );
    }
    elsif ( $sub_group eq 'col_trim_threshold' ) {
        my $digits = 3;
        my $prompt = 'Column trim threshold ';
        $sf->__choose_a_number_wrap( $info, $lo, $section, $sub_group, $prompt, $digits, 0 );
    }
    elsif ( $sub_group eq '_db2_encoding' ) {
        my $items = [
            { name => 'db2_encoding', prompt => "DB2 application code set" },

lib/App/DBBrowser/Options/ReadWrite.pm  view on Meta::CPAN

        }
    }
    elsif ( $plugin ) {
        my $file_fs = sprintf( $sf->{i}{plugin_config_file_fmt}, $plugin );
        $lo = $ax->read_json( $file_fs ) // {};
        if ( ! %{$lo//{}} ) {
            $lo = $op_df->defaults( $driver );
        }

        ####### 19.02.2026 ############
        if ( exists $lo->{table}{max_width_exp} || exists $lo->{table}{min_col_width} || ! exists $lo->{table}{expanded_line_spacing}) {
            $lo->{table}{expanded_line_spacing} = 1 if ! exists $lo->{table}{expanded_line_spacing};

            $lo->{table}{expanded_max_width} = delete $lo->{table}{max_width_exp} if exists $lo->{table}{max_width_exp};
            $lo->{table}{col_trim_threshold} = delete $lo->{table}{min_col_width} if exists $lo->{table}{min_col_width};

            my $file_fs = sprintf( $sf->{i}{plugin_config_file_fmt}, $plugin );
            $sf->write_config_file( $lo, $driver, $plugin ) if -f $file_fs;
        }
        ###############################

    }
    else {
        $lo = $ax->read_json( $sf->{i}{f_global_settings} ) // {};



( run in 0.932 second using v1.01-cache-2.11-cpan-5b529ec07f3 )