Revision history for App-DBBrowser 2.424 2025-03-09 - Update aggregate mode. - Bugfix SQLite, first_column_is_autoincrement: tablenames in sqlite_master are not qualified. - Refactored ScalarFunctions. - Improved info nested functions. - New date functions. - Different bugfixes. - New sql options. - Don not restrict 'On clause' operators. - Limit and offset: each has its own sql-menu entry. - Term::Choose minimum version 1.768. 2.423 2025-01-27 - Bugfix undefined data type. - Bugfix where clause: reset and/or connector. - Added multi-column extension. - Bugfix extended columns: use normal columns if inside an aggregate functions. - Subqueries in ctes: do not show ctes twice. 2.422 2025-01-23 - Extension 'Column': it is now possible to use a column from a chosen table. - A new way to create subqueries: build the subquery using the sql menu. - Update input filter Range_Rows - Added the exists and not exists operator. - Update and delete statement: do not remove the table alias. 2.421 2025-01-09 - Update join condition. - Update join menu and union menu. - Update function 'group_concat' and the respective equivalents. - Don't delete the alias of a column if the column has been removed from the selected columns. - String functions and Postgress: convert automatically to text if a column is not char and not varchar. - Removed backwards compatibility layer for old search_and_replace settings storage format. 2.420 2024-12-27 - New option: use aliases in 'group by', 'having' or 'order by'. 2.419 2024-12-20 - Update input filter Range_Rows. 2.418 2024-12-18 - Update input filter Choose_Rows. - New input filter Empty_Rows. - Text::CSV_XS: use 'getline_all' instead of 'getline'. 2.417 2024-11-17 - Confirm update/delete without where clause. 2.416 2024-10-28 - Term::Choose minimum version 1.767. 2.415 2024-09-05 Extended argument 'column': use horizontal format. 2.414 2024-06-13 - Bugfix Informix 'not matches'. - Bugfix in 'replace' function: allow empty replacement string. - Bugfix Informix 'day_of_week'. 2.413 2024-05-23 Bugfix import: don't check for emptiness of the first row if the file is a text file. 2.412 2024-05-21 - New scalar function 'date_subtract'. - Oracle: bugfix in 'date_add' and 'to_epoch'. - Oracle does not 'left' and 'right' functions. - Bugfix in scalar function 'extract': uppercase field argument. - Input filter 'join_columns': bugfix undefined column name. 2.411 2024-05-20 - Bugfix aliases in 'order_by'. - Pg and SQLite: bugfix in 'dateadd'. - Bugfix window functions arguments. - 'group_concat': add 'order by' if available. - Update cte. 2.410 2024-05-04 - Derived table/Cte: bugfix in 'choose_query'. - Bugfix in 'Operators.pm'. - Refactoring and cleanup. - SQLite does not have the operators ANY and ALL. - Term::Choose minimum version 1.765. 2.409 2024-04-28 - SQLite plugin: new option to set the busy timeout. - SQLite: Renamed and modified the user defined scalar function 'truncate'. Now 'trunc' treats any value that looks like a number as a number. - Bugfix in the limit/offset submenu. - New input filter 'convert datetime'. - Quote entered numbers if the data type is not numeric and no placeholders are used. - Added scalar convert functions. - Epoch_to_DateTime: bugfix and updates. - Data import: if chosen a deleted directory warn and remove the directory from history. 2.408_05 2024-04-21 - sqlite_busy_timeout. - Bugfix limit, offset. 2.408_04 2024-04-15 - New input filter: convert_datetime. 2.408_03 2024-04-05 - Quote numbers if the data type is not numeric. - Refactoring. 2.408_02 2024-04-01 - New: to_xxx scalar functions. - Refactored ScalarFunctions. - If chosen a deleted directory: warn and remove it from history. 2.408_01 2024-03-21 - Epoch_to_DateTime: bugfix and updates. - New: Unix_Timestamp. 2.407 2024-03-11 - Bugfix: auto-increment primary key quoted twice. 2.406 2024-03-11 - New 'create table' options: 'table constraints' and 'table options'. - Update option 'auto increment column'. - Use storable to make deep copies. - DB2, Oracle, Firebird: regex operator bugfix. - DBD::SQLite minimum version '1.74'. 2.405 2024-02-12 - Bugfixes in the 'search & replace' input filter. 2.404 2024-02-01 - Update and bugfixes documentation. 2.403 2024-01-25 - Update documentation. - Term::Choose minimum version '1.763'. 2.402 2024-01-03 - Updated input filter 'search & replace'. - Update documentation. - Term::TablePrint minimum version '0.162'. 2.401 2023-12-24 - Reset HAVING substatement when leaving the aggregate mode. - Use String::Substitution in the 'search & replace' input filter. - Now it is possible to use captured groups in the replacement part of a 'search & replace'. 2.400 2023-12-18 - Changed SQL submenu behavior. - New scalar functions. - New extension to set aliases for all selected columns. - Fixes for submenus HAVING and ORDER_BY when in aggregate mode. - Updates for option alias. - Update aggregate mode. - Catch table-print execute errors earlier. - Removed backwards compatibility for old f_attached_db and f_subqueries format. - Use Clone to backup data. - Term::Choose::Util minimum version '0.140'. - Update documentation. 2.345_05 2023-12-09 - Fixes for submenus HAVING and ORDER when in aggregate mode. - Update aggregate mode. - Update CTEs. - Update option alias for derived tables and non-unique columns in join. - Bugfix backup data in join. - Update documentation. 2.345_04 2023-11-16 - Bugfixes in the HAVING submenu. - Removed option 'fast_reset'. - Catch table-print execute errors earlier. 2.345_03 2023-10-28 - Use Clone to backup data. - New option 'fast_reset'. 2.345_02 2023-10-23 - Bugfixes, updates and cleanups. 2.345_01 2023-10-21 - Changed SQL submenu behavior. - Removed backwards compatibility for old f_attached_db and f_subqueries format. - Added scalar new functions. - Added extension to set aliases for all selected columns. - Update option alias. - Term::Choose::Util minimum version '0.140'. 2.344 2023-10-15 - Bugfix: no table alias in update/insert/delete. 2.343 2023-10-05 - Split option 'quote identifier' into 'quote table names', 'quote column names' and 'quote aliases'. - New option: enable/disable aliases for non-unique columns in join. - Derived table and Cte are available as extension. - Make a 'Change dir' in the file import menu permanent. - Order by: add aggregate function aliases. - Enter aliases for complex columns in 'group by' and use them in 'select'. - Function 'extract': added support for the field 'quarter'. - Term::Choose::Util minimum version '0.139'. - Refactored Join.pm and Union.pm. - Bugfixes. - Update documentation. 2.342 2023-09-28 - Bugfix: don't remove outer parentheses in Subqueries.pm. - Bugfix: wrong format of auto generated aliases in Union.pm. - Bugfix in table alias: undefined variable. 2.341 2023-09-20 - Bugfix Update: 'set' was missing a parameter. - Bugfix in Join.pm and Union.pm: uninitialized array references. - Use CTEs instead of subqueries for derived tables. 2.340 2023-08-26 - Fix in where/having/when: add parentheses only at the top level. - Allow window function everywhere in select and order_by. 2.339_01 2023-08-24 - Fix in where/having/when: add parentheses only at the top level. - Allow window function everywhere in select and order_by. 2.339 2023-08-20 - Added ODBC plugin. - Update alias derived tables. - Rearrangements in the option menu. - Bugfix: removed support for the environment variable DBI_DSN. - Renamed function 'instr' to 'position'. 2.338_03 2023-08-19 - Added ODBC-plugin. - Bugfix: removed support for the environment variable DBI_DSN. - Refactoring limit-offset and scalar functions. - Renamed function 'instr' to 'position'. 2.338_02 2023-08-16 - Rearrangements in the option menu. 2.338_01 2023-08-16 - Some support for the ODBC driver. - Update alias derived tables. 2.338 2023-08-14 - Fixed wrong module name in ScalarFunctions.pm. 2.337 2023-08-08 - Reorganizing extended values. - Option to enable extended arguments. - Use placeholders only when inserting into a table. - Improved case expression info output. - Update documentation. 2.336_02 2023-08-06 - Update documentation. - Fixes und updates. 2.336_01 2023-08-04 - Reorganizing extended values. - Fixed case expression info output. - Use placeholders only in INSERT INTO statement. 2.336 2023-07-26 New: - CASE expressions. - Arithmetic operators. - Extract: day_of_week and year_of_week. Changes: - 'empty_to_null' for file import enabled by default. - Update operators ANY and ALL. - Removed operators with col. - Term::Form minimum version '0.554'. - Use Encode::find_encoding 2.335_05 2023-07-25 - Arithmetic. - Term::Form minimum version '0.554'. - Enabled empty_to_null for file import by default. 2.335_04 2023-07-19 - Update operators ANY and ALL. 2.335_03 2023-07-17 - Added day_of_year. - Update day_of_week. - Removed operators with col. 2.335_02 2023-07-17 - Added day_of_week - Use Encode::find_encoding 2.335_01 2023-07-14 - Added CASE expression. 2.335 2023-07-07 - Bugfix in create_table: check for definedness of data type. 2.334 2023-07-06 - Aliases in ORDER BY. - Added scalar functions 'extract', 'instr', 'lpad' and 'rpad'. 2.333 2023-07-02 Bugfixes: - Single user schema with metadata disabled. - Having clause with subqueries. - Filter: scope of reparse. New: - Window functions. - Scalar functions 'coalesce' and 'now'. - Allow nested scalar functions - Operators ALL and ANY. - Choose set operator Changes: - fill_form menus: option 'auto_up' set to 1. - Modified options 'alias' and 'extensions'. - Some menu items have been moved to other menus. - Some changes require to reconfigure some options. 2.332 2023-07-02 - Bugfix Postgress: single schema with metadata disabled. - Added window functions. 2.331 2023-06-28 - Added operators ALL and ANY. - Different fixes. 2.330 2023-06-26 - Update Union.pm. - Update Functions.pm. - Update 'get_stmt'. 2.329 2023-06-21 - Refactoring Functions.pm. - Nested scalar functions: recursion instead of loop. 2.328 2023-06-15 - Some changes require to reconfigure some options. - Some menu items have been moved to other menus. - fill_form menus: option 'auto_up' set to 1. - Added scalar functions 'coalesce' and 'now'. - Modified options 'alias' and 'extensions'. - Bugfix: having clause with subqueries. - Bugfix: filter reparse. - Union: option to set the union type. 2.327 2023-06-02 - Bugfix: replace comma with semi-colon. 2.326 2023-06-02 - Fixed bugtracker entry in Makefile.PL. 2.325 2023-06-01 - Added support for Oracle plugins. - Code refactoring. 2.324 2023-05-02 - Update documentation. 2.323 2023-05-01 - New export option: table-name is default file-name. 2.322 2023-03-23 - Bugfix update/delete with unquoted table name. 2.321 2023-03-21 - Removed option alias defaults. - Update alias menu. - Default plugin: SQLite. 2.320 2023-03-14 - Update default aliases. 2.319 2023-03-13 - Create tables: update list of tables even if insert failed. 2.318 2023-03-13 - Bugfix update/delete info print. 2.317 2023-03-12 - Informix: add 'Epoch_to_DateTime'. - Informix add connection attribute 'ix_EnableUTF8'. - Pg: add schema 'public' only if db is user-db. - New option: DB2 application code set. - New option to disable table print warnings - Option 'binary_filter': add hexadecimal format. - Allow nested function. - attached_DB.json: save attached databases as hash. - Bugfix in 'from_col_by_col'. - Bugfix in 'CreateDropAttach'. 2.316 2023-02-19 - Update parse-mode 'Template'. - Update plugins 'mysql', 'MariaDB' and 'Pg'. - Informix: use 'table_info'. - New method 'prepare_identifier'. 2.315 2023-02-13 - Added Informix-plugin. - Bugfix 'is_system_schema'. - Update documentation. - Update from_col_by_col, attach_db, alias. - Epoch_to_datetime now with fractions of seconds. - Bugfix: don't limit table rows in Term::TablePrint. - Bugfix join: don't print columns twice. - Bugfix default aliases: remove invalid characters. 2.314 2023-02-03 - New data-structure for subquery file. - Refactoring/update Subqueries, Filter, GetContent - Bugfix/update filter search_and_replace. - Simplified formation info-output. - Update sql_limit. 2.313 2023-01-13 - Bugfix in first_column_is_autoincrement. - Update attach/detach SQLite databases. 2.312 2023-01-12 - Removed option 'auto_limit'. 2.311 2023-01-12 - SQLite: 'sqlite_'-tables are system tables. - No reconnect database after create/drop table. - Bugfix in first_column_is_autoincrement. - Bugfix in get_join_info. 2.310 2023-01-08 - Added DB2-plugin. - Bugfix import and export options. - Sort schemas. - Tables-menu: don't separate system tables from the user tables if the schema is a system schema. 2.309 2023-01-06 - Bugfix regex operator. - Update mysql/MariaDB system databases. 2.308 2023-01-03 - Use Text::CSV_XS. - Bugfix/update option 'eol'. 2.307 2023-01-01 - Removed unused option 'decimal_separator'. - Add option to config the CSV export. - Code refactoring. - Update documentation. 2.306 2022-12-23 - Removed stringification of the output of 'group_concat'. 2.305 2022-12-20 - Firebird: 'similar to' matches only case sensitive. - Default alias for aggregate functions. - Stringify the output of 'group_concat'. - Bugfix 'update' 'join' mysql/MariaDB. - Bugfix MariaDB: no 'offset' without 'limit'. 2.304 2022-10-12 - Term::TablePrint minimum version is '0.154'. 2.303 2022-07-22 - Bugfix insert plain. 2.302 2022-07-17 - Function Epoch_to_DateTime: handle undefined values. 2.301 2022-07-06 - Use Encode::Locale to get STDIN/STDOUT encodings. - Win32: don't alter the terminal code page. - Use at least DBD::SQLite 1.68. 2.300 2022-07-02 - Renamed option 'Max rows' to 'Auto Limit'. - 'Auto Limit' defaults to 0. - Update database-plugins. - Update documentation. 2.299 2022-06-25 - Update Functions.pm. - Term::Form minimum version is '0.551'. 2.298 2022-06-23 - Update and bugfixes Functions.pm. 2.297 2022-06-20 - Added Firebird-plugin. - Update plugin-API: 'sqlite_search' is now 'search'. - Bugfix: reading file with Text::CSV. - Update 'from_col_by_col'. - Update function 'Epoch_to_DateTime'. - Refactoring Functions.pm. - Removed backward compatibility for removed option values. 2.296 2022-05-01 - Term::Choose minimum version is '1.749'. - Term::Form minimum version is '0.547'. - Update documentation. 2.295 2022-03-31 - Make the code work with the new version (0.543) of Term::From. 2.294 2022-03-26 - Update plain data input. - Bugfix in GetContent. 2.293 2022-03-08 - Bugfix encode json. 2.292 2022-03-06 - Update menu "Reset DB". 2.291 2022-01-20 - Plugin 'mysql': utf8mb4 requires DBD::mysql 4.041 or greater. - Update year copyright. 2.290 2021-12-01 - Raised the Perl minimum version to '5.014'. - Use the '/r' option for non-destructive substitution. 2.289 2021-11-27 - Use JSON::MaybeXS instead of JSON. 2.288 2021-11-17 - Fixed unmet dependency on App::DBBrowser::DropTable [RT #140081 - Igor Yu. Vlasenko]. 2.287 2021-10-21 - Term::TablePrint minimum version is '0.148'. 2.286 2021-10-18 - New option 'truncate fractions first'. - Update options menu. 2.285 2021-10-03 - Term::TablePrint minimum version is '0.145'. 2.284 2021-09-26 - Attached databases: do not allow 'main' and 'temp' as alias names. - Code refactoring. 2.283 2021-09-26 - Attached databases: update tables menu. 2.282 2021-09-24 - Term::Choose minimum version is '1.739'. - Code refactoring. 2.281 2021-08-29 - Adapt the code to the updated Term::Choose. 2.280 2021-08-24 - DBD::SQLite 1.68 or greater is required. - print_table: table_name -> footer. - Renamed the option 'f3' to 'search'. - 'Ctrl-F' instead of 'F3' to open the search prompt. - PageUP/PageDown: 'Ctrl-P'/'Ctrl-N' instead of 'Ctrl-B'/'Ctrl-F'. 2.279 2021-07-29 - Bugfix in functions Epoch_to_Date/Epoch_to_DateTime: use driver specific regex statement. 2.278 2021-07-29 - Removed the source type 'Copy&Paste'. - Removed option 'Truncated rows'. 2.277 2021-07-28 - SQLite: replace 'sqlite_unicode' with 'sqlite_string_mode' if DBD::SQLite version >= 1.68. - Bugfix in 'attributes': use the values not the indexes. - Bugfix: apply DB specific setting immediately. 2.276 2021-07-20 - Update export file_name. 2.275 2021-07-19 - Update option auto-extension. - Bugfix export file_name. - Update UI filter. 2.274 2021-07-16 - Bugfix option auto-extension. 2.273 2021-07-16 - Option to export the result of a chosen SQL statement to a CSV-file. - Code refactoring. 2.272 2021-07-12 - Simplified substatements extensions. - Update option 'Alias'. - Code refactoring. - Update UI Functions. - Bugfix function aliases. 2.271 2021-07-05 - Code refactoring. - Update UI. 2.270 2021-06-30 - Bugfix in search_and_replace history. 2.269 2021-06-30 - Code refactoring. - Update UI input filter. 2.268 2021-06-23 - Makefile.PL: fixed wrong Term::Form minimum version. 2.267 2021-06-22 - Update UI input filter. - Removed option 'Expand info table'. - Code refactoring. 2.266 2021-06-17 - Removed option 'show_table_name'. 2.265 2021-06-11 - Removed options 'grid' and 'keep_header'. 2.264 2021-06-04 - Update option 'Expand table'. 2.263 2021-05-02 - Update functions. 2.262 2021-04-06 - Single table row output: skip separator lines. 2.261 2021-03-21 - Update saved search_and_replace. 2.260 2021-03-04 - New option to filter table rows. 2.258 2021-02-20 - Signal name: fixed spelling. 2.257 2021-02-04 - Check regex after user input. 2.256 2021-01-01 - Add bugracker info to the Makefile.PL. - Update year copyright. 2.255 2020-12-07 - Disabled input filter: bugfix menu behavior. 2.254 2020-11-28 - Signalhandler: add SIGTERM and SIGHUB. - Show-table-name enabled by default. - New option: enable/disable input filter. 2.253 2020-09-03 - Disable warnings 'closure' in END block to avoid 'Variable "%s" will not stay shared' warning. 2.252 2020-07-27 - App::DBBrowser::Table::Substatements: fixed wrong LABEL. - App::DBBrowser::GetContent::Read: removed unused code. - Code cleanup. 2.251 2020-05-31 - Parse with template: bugfix in 'reparse'. - Refactoring SET, WHERE and HAVING. - Update choose_subquery menu. 2.250 2020-04-15 - Filter 'search_and_replace': allow to save groups of 's///;'. 2.249 2020-03-28 - The sheet name is the default table name if sheet_count > 1. 2.248 2020-03-27 - If autoincrement is disabled: fixed UI bug. - Update 'CreateTable'. 2.247 2020-03-14 - Bugfixes in search&replace. - Code refactoring. 2.246 2020-03-13 - Allow to change data source settings when creating a table or when inserting data. 2.245 2020-03-12 - Term::Choose::Util minimum version is '0.117'. - Small format output fixes. 2.244 2020-03-11 - SQLite plugin: sort databases. - Option 'Data source': different settings for 'Insert' and 'Create table'. - Update filter 'choose cols'. - Update filter 'search & replace'. - Update documentation. 2.243 2020-03-08 - New option 'Data source'. - New option 'Truncated rows'. - Edit saved search-and-replace instructions. - Option 'Table name' enabled by default. 2.242 2020-03-06 - Filter 'search_and_replace': option to save substitution code. - Bugfix deleting tmp files. 2.241 2020-03-02 - Bugfix info output. 2.240 2020-03-01 - New: replace function. - Refactoring info output. 2.239 2020-02-29 - New option 'Indentation'. - New option 'View prefix'. - Update info output. - Update 'Create view'. - Bugfixes. - Update documentation. 2.238 2020-02-24 - Update documentation. 2.237 2020-02-24 - New option 'show_table_name'; - Made importing multiple sheets from a spreadsheet file more comfortable. 2.236 2020-02-19 - Made importing multiple sheets from a spreadsheet file more comfortable. 2.235 2020-02-17 - Option to set the default value for the 'empty_to_null' filter. 2.234 2020-02-16 - Fixed 'empty_to_null' filter. 2.233 2020-02-15 - Added 'round' function. - Bugfix in 'Credentials.pm'. - Update in SQLite plugin. 2.232 2020-02-10 - From file: possibility the set a new directory if the directory is chosen automatically. - Update documentation. 2.231 2020-01-02 - Update required Term::Choose::Util versions. - Update year copyright. 2.230 2019-12-25 - Modfied error messages. 2.229 2019-12-18 - Renamed variables. 2.228 2019-12-08 - Bugfix in 'merge_rows'. 2.227 2019-12-08 - New option: glob filter for input files. - New option: show hidden files. 2.226 2019-11-17 - Bugfix in filter split_column. 2.225 2019-11-17 - Code refactoring. - Update required Term::Choose-Util-versions. 2.224 2019-11-17 - Filter "Choose Rows": preselect non-empty rows if the data contains empty rows. 2.223 2019-11-16 - Update documentation. - Coming back from a not completed "create table": keep track of sheet index. 2.222 2019-11-16 - Bugfix in 'print_filter_info'. - Filter "Row Groups": allow to choose more then one group. 2.221 2019-11-15 - Create table: no extra confirm for the insert. - Menu-updates for: create table, fetch data, parse data, filter data. - Columns added with Append_col have now an empty header. - Bugfix in empty_to_null. - Code refactoring. - Update documentation. 2.220 2019-10-31 - Bugfix in the empty_to_null filter. 2.219 2019-10-30 - Update required Term::Choose-Util-versions. - Adapt code to the updated Term::Choose-Util version. 2.218 2019-10-23 - Update documentation. 2.217 2019-10-20 - Bugfix 'choose_a_subset' return values: check for empty arrays. 2.216 2019-10-19 - Bugfix in filter 'merge_rows'. 2.215 2019-10-19 - New filter 'fill_up_rows', 'join_columns'. - Update filter 'merge_rows'. 2.214 2019-10-13 - Update documentation. 2.213 2019-10-13 - New parse mode: "Template". - Update input filter menu. - Update input filter info output. - Bugfix copy & paste: removed 'Spreadsheet::Read' from the menu. - Bugfixes in setting column names. - Bugfix in resetting header row. - Update create table menu. 2.212 2019-10-06 - New input filter: "Remove_Cell", "Insert_Cell", "Row_Groups". 2.211 2019-10-02 - Input Copy and Paste: show the cursor. - Required the fixed "Term::Choose::Util" version. 2.210 2019-09-21 - Term::Choose::Util: use object-oriented interface. 2.209 2019-09-09 - Bugfix in 'subqueries': term_width -> get_term_width. 2.208 2019-09-05 - Adapt the code to the updated Term::Choose. - Hide cursor fixes. 2.207 2019-08-09 - Require App::DBBrowser::Table. - Bugfix in Join: use the right reference to get the driver type. - Update menus in Join. - Join/Union: consider the option 'metadata'. 2.206 2019-07-07 - Fixed cursor visibility by raising the required Term::Form version. 2.205 2019-07-05 - Added autoflush at the beginning of run. - Create/Drop menu changes. 2.204 2019-07-04 - Update required "Term::Form"- and "Term::TablePrint"-versions. - Code refactoring. 2.203 2019-06-30 - Fetching column names and types: eval sql code. - Keep the cursor hidden, avoid cursor flickering. - Adapt code to work with the updated Term::Choose::LineFold::line_fold routine. 2.202 2019-05-09 - Update minimum version: Term::Choose, Term::Choose::Util, Term::From. - Code refactoring. 2.201 2019-05-08 - Bugfix in reading db options. - Union all: exclude views. - Menu memory for plugin menu. - Code refactoring. 2.200 2019-05-03 - New plugin API - Perl minimum version 5.10.1; - Enable option menu_memory by default. - Create and drop views. - Subqueries: no clause type distinction. 2.071 2019-04-18 - extensions: fixed spelling error. - choose_a_subset: replaced removed option. - insert: removed invalid menu entry 'settings'. 2.070 2019-04-05 - readline: to return undef press Ctrl-X instead of Ctrl-D. 2.069 2019-03-09 - Attach/detach database: fix file name hash key. 2.068 2019-03-08 - Update filter column names. 2.067 2019-02-25 - Code refactoring. 2.066 2019-02-24 - Bugfix alias. - Renamed config file "file_history" to "dir_history". 2.065 2019-02-22 - Update filter 'replace'. 2.064 2019-02-21 - Update documentation. 2.063 2019-02-21 - Update documentation. 2.062 2019-02-21 - Update options. - Update filter search and replace. 2.061 2019-02-12 - Get data from file: update file search. - Create table: option to drop the table if the insert failed. - Code refactoring. 2.060 2019-02-10 - Use String::Unescape to unescape options for Text::CSV. - Bugfix subqueries: replaced '&&' with '||'. 2.059 2019-02-10 - Added the possibility to edit join conditions. 2.058 2019-02-09 - Update input filter 'Search Replace'. 2.057 2019-02-07 - Update file history. - Update options menu. 2.056 2019-02-05 - Update documentation. 2.055 2019-02-05 - Update documentation. 2.054 2019-02-05 - New input filter. 2.053 2019-02-04 - Drop table: sort table list. - Drop table: don't change info behavior if the table is empty. - Replace spaces in the default table name. - Don't ask for aliases in set|where|having|group_by|oder_by clauses. 2.052 2019-02-02 - Check for duplicate column names. 2.051 2019-02-01 - Extenstions for "order by". 2.050 2019-01-31 - Bugfix default table name. 2.049 2019-01-29 - Set the default value for the options 'grid' and 'keep_header' to 1. - Add the sheet name to the default table name if the content is from a spreadsheet. - Rename the subquery-menu-entry in table/join/union menus. 2.048 2019-01-28 - Update subquery menu. 2.047 2019-01-26 - Use the whole terminal width (by upgrading Term::TablePrint). - Bugfix in subqueries. 2.046 2019-01-25 - DBD::mysql: 'mysql_enable_utf8mb4' enabled by default, 'mysql_enable_utf8' disabled by default. - New input filter 'Add Column'. 2.045 2019-01-20 - Bugfix: make the mouse work also in the help menu. - Parse mode 'split': new option to trim records. 2.044 2019-01-19 - Union: allow to use tables more than one time. - Union: possibility to use a subquery instead of a table. - Postgress: change aliases to lowercase if 'quote_identifiers' is disabled. - Postgress: with 'meta data' disabled and no user schemas: set schema to 'public'. - Bugfix in option 'extensions'. - Bugfix in 'Subqueries': avoid duplicate entries. 2.043 2019-01-16 - Bugfix: file name encoding. - Bugfix: parentheses in 'Subqueries'. - New input filter: convert empty fields to NULL. - New itemt in option 'Extensions SET': '=N' to set a field to NULL. - Make it possible to enter a "\t" as the 'Text-CSV-sep_char' value. - New option 'Info'. - Update write access. 2.042 2019-01-11 - Join: possibility to use a subquery instead of a table. - Join: option to choose the comparison operator. - Remove duplicates in history. - Bugfix: avoid double quoting in saved subqueries. 2.041 2019-01-09 - Bugfix in join: backup aliases. - Update join menus. - Attached databases: make menus less noisy. - Code refactoring. 2.040 2019-01-07 - MySQL and Pg databases: added 'autoincrement' options. - Bugfix in 'get_schemas'. 2.039 2019-01-06 - Bugfix in join. 2.038 2019-01-06 - Tables: filter out tables of the type 'index'. - New: choose the join type. - Bugfix in parse mode split: add negative limit to preserve trailing empty fields. - Parse mode split: empty fields to 'undef' to avoid conflicts with non-string data types. 2.037 2019-01-06 - Update aggregate/group by. - Update subqueries/functions. - Update options. - Allow self join. - New function: 'concatenate'. - New aggregate function: 'group_concat'. - Replaced 'lock' with 'reset'. - Tables: don't filter out views. 2.036 2018-12-30 - Update subqueries. - New file name for saved subqueries. - SQLite: 'truncate' returns a numeric value. - SQLite: 'truncate' returns the value without rounding. - Bugfix in SQLite: the autoincrement column constraint could contain the keyword 'autoincrement'. - Bugfix in SQLite's 'bit_length': return bits not bytes. - Bugfix in HAVING clause with operator 'LIKE col': use group results as arguments. - Bugfixes in 'col_function' and print history. - Union "All tables": don't include system tables. 2.035 2018-12-20 - "DBD::MariaDB" database plugin. 2.034 2018-12-19 - New option "guess data type". - Update option "auto increment column". - Bugfix in "insert_into" menu. - Filename extension: max length from 3 to 4. - Select columns: allow to select more than one column at a time. 2.033 2018-12-10 - "Term::Choose" minimum version: '1.638'. - "Term::TablePrint" mininum version: '0.104'. 2.032 2018-12-09 - New option 'decimal_separator'. 2.031 2018-11-29 - MSWin32: set codepage temporarily to 65001. - Removed "no warnings 'utf8'". 2.030 2018-11-28 - Update documentation. 2.029 2018-11-27 - Update documentation. 2.028 2018-11-25 - New option to disable "File::Find" warnings. 2.027 2018-11-23 - Added option 'color'. - "Term::Choose" => '1.634'. - "Term::Choose::Util" => '0.068'. - "Term::Form" => '0.502'. - "Term::TablePrint" => '0.100'. 2.026 2018-11-11 - File::Find: disable warnings if OS is MSWin32. 2.025 2018-08-13 - Removed "Term::ProgressBar" from the dependencies since "Term::TablePrint" has now its own progress bar module. - Minimum version "Term::TablePrint" is "0.072". 2.024 2018-08-11 - Add "Term::ProgressBar" to the dependencies (because "Term::ProgressBar" is now optional in "Term::TablePrint"). 2.023 2018-08-07 - The Insert key goes back 25 pages, the Delete key goes forward 25 pages. - Minimum version "Term::Choose" is "1.621". - Minimum version "Term::TablePrint" is "0.070". 2.022 2018-08-04 - Bugfix in 'add_subqueries'. 2.021 2018-07-20 - Output tweaking. - Bugfix regexp. - Minimum version "Term::Form" is "0.321". 2.020 2018-07-15 - Output tweaking. - Minimum version "Term::Choose" is "1.604". - Minimum version "Term::Choose::Util" is "0.066". - Minimum version "Term::TablePrint" is "0.069". 2.019 2018-07-13 - Close an open parentheses automatically on OK. - Regexp: show the operator already before entering the pattern. 2.018 2018-07-09 - Don't put Version in every pm. - Bugfix join-menu. 2.017 2018-07-06 - Bugfix undefined database. - New option 'squash spaces'. - Minimum version "Term::TablePrint" is "0.068". 2.016 2018-07-03 - Minimum version "Term::Choose" is "1.600". - Minimum version "Term::Choose::Util" is "0.065". - Minimum version "Term::TablePrint" is "0.067". - Minimum version "Term::Form" is "0.316". 2.015 2018-06-19 - 'no_spacebar' to 'meta_items'. 2.014 2018-04-20 - Improved documentation. 2.013 2018-04-16 - Fixes documentation format. 2.012 2018-04-08 - Rearranged option menu. 2.011 2018-04-06 - Minimum version "Term::Choose::Util" is "0.062". 2.010 2018-04-04 - Code refactoring. - Update documentation. 2.009 2018-03-27 - Subquery as a table. - Auto-increment for SQLite databases. - Update documentation. 2.008 2018-03-24 - Refactoring aggregate and subqueries. - Update documentation. 2.007 2018-03-23 - subqueries as 'SET' value in 'UPDATE' stmt. - Minimum version "Term::Choose" is "1.514". - Minimum version "Term::Choose::Util" is "0.061". 2.006 2018-03-15 - Option to enbable/disable write access. - Update documentation. 2.005 2018-03-14 - The option 'alias' now also affects aggregate functions, join and union. - Minimum version "Term::Form" is "0.315". 2.004 2018-03-12 - Code refactoring. - New experimental features: subqueries, aggregate in select - Removed "Files dir" option. - Update documentation. - Minimum version "Term::Form" is "0.314". 2.003 2018-03-04 - Update Insert module. 2.002 2018-03-02 - Bugfix in Insert module. - Bugfix in Table module. 2.001 2018-03-01 - Bugfix: don't close the Temp file handle zu early. - Minimum version "Term::Choose::Util" is "0.057". - Removed option "SQLite_directories" 2.000 2018-02-28 - New feature for SQLite: Attach database. - New option: "quote identifiers". - New option: "qualified table names". - Database Plugins: backward incompatible changes. - Bugfixes and Improvements. - Code refactoring - Update documentation. - Minimum version "Term::TablePrint" is "0.064". - Minimum version "Term::Choose" is "1.512". - Minimum version "Term::Choose::Util" is "0.056". - Minimum version "Term::Form" is "0.313". 1.060_06 2018-02-26 - Developer release 1.060_05 2018-02-25 - Developer release 1.060_04 2018-02-23 - Developer release 1.060_03 2018-02-22 - Developer release 1.060_02 2018-02-20 - Developer release 1.060_01 2018-02-18 - Developer release 1.059 2018-01-25 - Bugfix: set_insert back to config_insert. 1.058 2018-01-22 - No "Auto Limit" when showing the table before drop table. 1.057 2018-01-22 - Bugfix in delete table: show the right row number. - Code refactoring. 1.056 2018-01-11 - Minimum version "Term::TablePrint" is "0.058". - Minimum version "Term::Choose" is "1.509". - Minimum version "Term::Choose::Util" is "0.053". 1.055 2018-01-07 - Update documentation. 1.054 2018-01-07 - Update documentation. 1.053 2017-04-21 - New option "grid". - Minimum version "Term::TablePrint" is "0.053". - Update documentation. - Update year copyright. 1.052 2016-08-30 - Use "Term::Form" instead of "Term::ReadLine::Simple". 1.051 2016-05-13 - Fixed option "File History". 1.050 2016-02-21 - Bugfix: minimum plugin API version is "1.5". - PREREQ_PM: raised required version of different modules. 1.018_01 2016-02-14 - Code refactoring. - Requires "Term::Choose::LineFold". - Update year copyright. 1.018 2015-12-21 - New option to set the default input-file-search-directory. - Update documentation. 1.017 2015-12-15 - Create table: options to set the default data type and the name of the id col. - Stable release. - Update documentation. 1.016_07 2015-12-09 - SQLite: reconnect to the DB only before dropping or creating a DB. 1.016_06 2015-12-08 - SQLite: reconnect to the DB before writing to the DB. - Code refactoring. - Minimum version "Term::Choose::Util" is "0.027". - Filename: choose instead of reading. 1.016_05 2015-12-06 - Bugfix: UPDATE after INSERT: only inserted cols for UPDATE. - Code refactoring. - Update documentation. 1.016_04 2015-12-01 - SELECT: add "$sth->finish()" where no rows are fetched. - Code refactoring. 1.016_03 2015-11-27 - Update module "CreateTable". - Minimum version "Term::TablePrint" is "0.025". 1.016_02 2015-11-26 - Removed "\K" - not available before 5.10. - Fixed bug in backwards-compatibility-code. 1.016_01 2015-11-23 - SQLite: new feature "create table" and "drop table". - Code refactoring. - Update documentation. 1.016 2015-11-10 - Update Insert-package. - Code refactoring and cleanup. - Update documentation. 1.015 2015-11-08 - Update Insert-package. - Removed the "location of the configuration directory has changed"-message. - Update documentation. 1.014 2015-08-17 - Raised "Term::TablePrint" minimum version to "0.024". 1.013 2015-08-17 - Removed support for the plugin api version "1.3". - The option "Table rows" has now 3 different settings instead of 2. The default behavior has changed. 1.012 2015-04-13 - New dependency "File::Which"; - config dir is $XDG_CONFIG_HOME if which( xdg-user-dir ). - the config dir is now called "db_browser" instead of "db_browser_conf". - Update documentation. 1.011 2015-03-28 - "Term::ReadLine::Simple" minimum version "0.300". 1.010 2015-03-25 - Refactoring options. - Removed dependency on "File::Slurp" [RT #103037 - Karen Etheridge (ETHER)]. - "Term::Choose::Util" minimum version "0.025". - Update documentation. 1.009 2015-03-19 - "Term::ReadLine::Simple" minimum version "0.208". - Code refactoring. 1.008 2015-02-25 - New plugin api (1.4). - Removed support for the plugin api version "1.1" and "1.2". - Bugfix "Database settings": display the global setting if database specific setting is undefined. - Update documentation. 1.007 2015-02-23 - Do not offer "Insert", "Update", "Delete" when not supported (union, join). - Update documentation. 1.006 2015-02-16 - Code refactoring (join alias tables/idx). 1.005 2015-02-14 - Re-enable "AutoCommit" because no "commit"s in db plugins (where required: "begin_work" disables "AutoCommit" automatically). 1.004 2015-02-11 - JOIN: add the tablename to the column names. 1.003 2015-02-06 - Bugfix option "mouse". - Support Debug plugin. - Update "INSERT" menu. - Update documentation. 1.002 2015-02-03 - Bugfix options. - DB plugins: "AutoCommit" to 0. 1.001 2015-01-31 - Read db configuration file if db_plugin settings have changed. - Bugfix options insert. - Code refactoring. - Update documentation. 0.999 2015-01-29 - Changed available operators. - Handle missing "sql_regexp" and "concatenate" method. - Code refactoring. 0.998 2015-01-28 - Bugfix in"App::DBBrowser::DB::SQLite" (search directories). - Code refactoring (schema). 0.997 2015-01-27 - Bugfix in LIMIT; - Don't ask to choose if only one database. - Code refactoring. - Plugin API version 1.3. - Update documentation. 0.996 2015-01-25 - Code refactoring. - Update documentation. 0.995 2015-01-22 - Removed option "sssc_mode". - Update documentation. 0.994 2015-01-22 - Bugfixes database setting default values. - Bugfixes in "__read_config_files" and "__write_config_files". - Plugin API version 1.2. - Code refactoring. - Update documentation. 0.993 2015-01-09 - Bugfix: Table/hidden menu. - Plugin API version 1.1. - Code refactoring. - Update documentation. 0.992 2015-01-04 - Bugfix: "sssc_mode" in "Insert". - Bugfix: column menu in "union". - New plugin method "plugin_api_version". - Removed option "Input filter" (now always enabled). - Code refactoring. - Update documentation. 0.991 2014-12-24 - Bugfix in hidden menu. - Use 'catfile' to build the glob pattern for the search of the installed db drivers. - Code refactoring. 0.990 2014-12-22 - SQLite: @ARGV are now databases instead of directories. - Bugfix in "prepare_connect_parameter". - Regexp: use different "operators" for case (in)sensitivity instead of an option. - SQLite: move "regexp case sensitivity"-code into the database plugin. - Code refactoring. - Update documentation. 0.049_09 2014-12-21 - Code refactoring. - Back to the old plugin name format. - Update documentation. 0.049_08 2014-12-19 - Code refactoring. - Changed plugin name format. - Update documentation. 0.049_07 2014-12-18 - Code refactoring. - Update documentation. 0.049_06 2014-12-11 - Code refactoring. - Update documentation. 0.049_05 2014-12-08 - Code refactoring. - Update documentation. - Minimum Perl version "5.8.3". - "Term::TablePrint": minimum version "0.021". - Fixed typo in method name [github #3 - Ivan Baidakou (basiliscos)]. 0.049_04 2014-12-05 - Bugfix inf sub "read_json": "JSON::XS" -> "JSON". - "Term::TablePrint": minimum version "0.020". - Minimum Perl version "5.8.9". 0.049_03 2014-12-04 - Code refactoring. 0.049_02 2014-12-01 - "App::DBBrowser::DB": a module for each driver. 0.049_01 2014-11-29 - Code refactoring. 0.049 2014-11-28 - Code refactoring. - "Term::Choose-Util" minimum version "0.017". 0.048 2014-11-20 - Update documentation. - "Term::Choose" minimum version "1.117". 0.047 2014-11-11 - New option "Debug". - Code refactoring. - Update documentation. 0.046_01 2014-11-08 - Added file history. - Choose parse module: Textfiles instead of only CSV files. - Update documentation. 0.046 2014-11-07 - Support file formats supported by "Spreadsheet::Read". - New dependencies: "Spreadsheet::Read" and "Text::ParseWords". - Code refactoring. - Update documentation. 0.045 2014-10-29 - Code refactoring. 0.044_03 2014-10-28 - Switched back to "Text::CSV". - Added missing dependency in the "Makefile.PL". - Bugfix. - Update documentation. 0.044_02 2014-10-28 - Refactoring input. 0.044_01 2014-10-27 - Bugfixes input. 0.044 2014-10-27 - Use of "Text::ParseWords" instead of "Text::CSV" to parse rows. - Update documentation. 0.043 2014-10-02 - Bugfix "print_error_message" [github #2 - Mark Lawrence]. - Don't print all filenames when searching SQLite databases. 0.042 2014-10-01 - Handle undefined input filename. 0.041_02 2014-09-29 - Insert: additional option to choose single rows. - Modified menu behavior. 0.041_01 2014-09-27 - Let "SET" sub-statement behave like similar other sql sub-statements. 0.041 2014-09-26 - Code cleanup. - Improved documentation. 0.040_05 2014-09-23 - Bugfix row-col filter. - Bugfix temp csv config. - Update menu navigation. 0.040_04 2014-09-23 - Update menu navigation. - Update documentation. 0.040_03 2014-09-23 - Update "INSERT INTO". - Code refactoring. - Update documentation. 0.040_02 2014-09-20 - Bugfix "print_error_message". 0.040_01 2014-09-19 - Added experimental sql features (update, delete, insert into). - Update documentation. 0.040 2014-09-03 - Menu memory for config and SQL menus. - Replaced "Term::ReadLine::Tiny" with "Term::ReadLine::Simple". - Update documentation. 0.039 2014-08-16 - Perl minimum version from "5.10.1" to "5.10.0". 0.038 2014-08-16 - Improved documentation. 0.037 2014-07-28 - Bugfix: regex case sensitivity setting. - New dependency: "Term::ReadLine::Tiny". - "use JSON" instead of "use JSON::XS". - Update Makefile.PL. - Code refactoring. - Update documentation. 0.036 2014-07-10 - Required minimum version of "Term::Choose::Util" is now "0.011". - Update documentation. 0.035_04 2014-07-09 - Required minimum version of "Term::Choose::Util" is now "0.010". - Some read line changes. - Update documentation. 0.035_03 2014-07-08 - Bugfix in JSON encoding. - Update "Reset". - Code refactoring. - Update documentation. 0.035_02 2014-07-05 - Code refactoring. - Fixed option "HELP". 0.035_01 2014-07-04 - New configuration file format: each database driver has now its own file. - One option ("Menus") instead of three to set table/schema/database menu memory behavior. - The fetching of the required data for connecting to databases has changed. - Changed "Reset" option. - Required minimum version of "Term::TablePrint" is now "0.013". - Required minimum version of "Term::Choose::Util" is now "0.009". 0.035 2014-06-29 - Required minimum version of "Term::Choose::Util" is now "0.008". - New option to set the default directories where "db-browser" searches for SQLite databases. - Update documentation. 0.034 2014-06-18 - Bugfix in LIMIT-submenu. - Update documentation. 0.033 2014-06-15 - Raised the required minimum version of "Term::TablePrint" and "Term::Choose::Util". - Changed the layout of the "Path" output. - Fixed: a change of the setting of the option "mouse" is immediately effective. 0.032 2014-05-30 - Printing the table header on each page is not enabled by default. 0.031 2014-05-28 - Fixed bug in the option code. 0.030 2014-05-28 - Added an option to reset the database specific settings back to "Database defaults". - Code refactoring. - Update documentation. 0.029_02 2014-05-25 - Fixed option "Binary Filter". - Removed the extra code which moved "YES" before "NO". - Code refactoring. - Update documentation. 0.029_01 2014-05-21 - Each package has now its own file. - Renamed the option "Expand" to "Enchant" - Added the option "Table Header" in "Enchant". - Update documentation. 0.029 2014-05-05 - Parentheses: the user can choose if the parentheses menu entry is located before or after the column names. - Update documentation. 0.028 2014-04-28 - Bugfix documentation. 0.027 2014-04-28 - Improved documentation. 0.026 2014-04-28 - Improved documentation. 0.025 2014-04-26 - SQL menu entry "COLUMNS" is now called "SELECT". - Code refactoring. - Improved documentation. 0.024 2014-04-21 - Bugfix in "backup_in_hidd". - It is possible now also with "GROUP BY" to choose more than one column at once. - Update documentation. 0.023 2014-04-10 - Update documentation. 0.022 2014-03-24 - Update "ALL TABLES" in UNION. - Mininum version of "Term::TablePrint" is now 0.005. - Update Makefile.PL 0.021 2014-03-22 - Bugfix in UNION. - New: "ALL TABLES" in UNION. 0.020 2014-03-21 - Rewritten in OO style. - Outsourced code to "Term::Choose::Util". 0.019 2014-03-08 - "COLUMNS": it is now possible to choose more than one column at once for the "SELECT" statement (experimental). - Update documentation. 0.018 2014-03-07 - "App::DBBrowser" requires "Term::Choose" version 1.100 or higher. - Outsourced the table print function in its own module: "Term::TablePrint". - Code refactoring. 0.017 2014-02-19 - Added new option "ENV DBI" which allows the use of DBI_USER and DBI_PASS to login. - Removed the option "Default user". - Removed the option "Separator" - "pg_enable_utf8" can always be set to "auto" (with "DBD::Pg" < 3.0.0 "auto" is mapped to "enabled"). - Use "FinBin" the get the path of the program. - Code refactoring. - Update documentation. 0.016 2014-02-08 - Bugfix and update in setting "pg_enable_utf8". 0.015 2014-02-07 - Fixed bug in "search SQLite databases". - "pg_enable_utf8" can be set to "auto" if "DBD::Pg" >= 3.x.x. - Added release test "year_copyright.t". - Update documentation. 0.014 2014-02-04 - Detect encodings. - Refactoring system/meta filter. - Added LICENSE file. - Improved documentation. 0.013 2014-01-28 - Scalar functions applicable also to "GROUP BY" columns. 0.012 2014-01-27 - "SQLite" is selected if @ARGV. - Added support for MSWin32 OS. 0.011 2014-01-24 - The "mouse mode" is now already effective in the "option" menu. - Option "login": removed the choice "for every connection". - Update license. - Update documentation. 0.010 2014-01-20 - Removed experimental typecast (Pg - aggregate). - Keep track of the terminal width instead of using "SIGWINCH". - Adapted "db-browser" to the new "Term::Choose" (version 1.070): "choose" has now set no "limit" by default. - "sql_regex": typecast to "text" for "Pg". - Bugfix: if "select" is empty when leaving "aggregate" or "group by" set "select_type" to "*". - If a field contains a reference replace the reference with the reference type plus ' REF'. - Code refactoring. 0.009 2014-01-16 - New option "Parentheses". Enable parentheses in "WHERE" or/and "HAVING TO" clause. - New database options to set "host" and "port" (untested). - Bugfix: quoting alias in "aggregate" with "quote_identifier" instead of "quote". - Experimental: typecast to "numeric" in aggregate function if driver is 'Pg'. - Hidden: added function "BIT_LENGTH" and "CHAR_LENGTH". - Updated documentation. 0.008 2014-01-12 - Added link to the GitHub repo "App-DBBrowser". - Code refactoring. 0.007 2014-01-11 - Bugfixed undefined "sqlite_master" primary and foreign keys by replacing in "primary_and_foreign_keys" the parsing of "sqlite_master" with "pragma foreign_key_list(table)". - Bugfix: regexp for SQLite systemtables from "/sqlite/i" to "/sqlite_/i". - Changed application directory: from "$HOME/.db_browser_conf" to "File::HomeDir->my_data/db_browser_conf". - Added option "Path" which shows the path of the "db-browser" and the application directory. - Code update of limit "Max Rows". - Updated documentation. 0.006 2014-01-07 - Bugfix: reset cached data if db settings have changed. - Code refactoring and update - e.g. move db-specific code in the db-section; add "WHERE 1 = 0" to the "SELECT" query where only the column names are needed. - Improved documentation. 0.005 2014-01-06 - Bugfix. - Code update and refactoring. - Improved documentation. 0.004 2014-01-05 - Changed some error handling. - Code clean up and refactoring. - Improved documentation. 0.003 2014-01-04 - Fixed documentation. 0.002 2014-01-04 - Code clean up. 0.001 2014-01-04 - First release on CPAN.