If you are a member or voter of the following political parties or agree with their despicable political views,
you are NOT WELCOME to use my software.
you are NOT WELCOME to use my software.
- AfD (Germany)
- Die Heimat (Germany)
- Die Basis (Germany)
- BündnisDeutschland (Germany)
- Freie Wähler (Germany, Bavaria)
- CSU (Germany, Bavaria)
- FPÖ (Austria)
- Fratelli d’Italia (Italy)
- Lega Nord (Italy)
- Rassemblement National (France)
- Vox (Spain)
- Prawo i Sprawiedliwość (Poland)
- Fidesz (Hungary)
- Adalet ve Kalkınma Partis (Türkiye)
- Republican Party (USA)
Release History
Show list of all buildsBuild 129 (2022-10-23)
Enhancements
- Double clicking on the grid line of a header column now adjusts the column width.
- For DB2 for i, PostgreSQL and SQL Server additional connection properties are now shown in the "Connection Info"
- It's now possible to configure the behaviour when closing a tab with a modified external file.
- For PostgreSQL and Oracle, GRANTs for sequences are now shown in the generated SQL source
- It's now possible to add multiple directories to the file system tree
- When definining a JDBC driver, the jar file can now be downloaded from Maven central if available
- It's now possible to assign a second, alternate keyboard shortcut for menu items
- It's now possible to have a different set of variables per window.
- Using FlatLaf themes is now supported.
- The DbTree, Macro list and the new file browser can now be displayed at the same time as side panels.
- It's now possible to search for tables or procedures from within the source panel of the DbExplorer.
- It's now possible to jump to the corresponding table from within the trigger list.
- In the DbTree, table nodes for "Uses", Used by", "References" and "Referenced by" can now be expanded to show the table details.
Bug fixes
- When copying a result as SQL to the clipboard, timestamptz values for Postgres were not formatted correctly.
- Some Workbench specific commands did not work if preceded with a comment containing quotes
- Sorting results (by clicking on the header) did not work correctly for array columns (e.g. int[] in Postgres)
- When importing from Excel sheet, make sure numbers formatted as strings are read as strings
- For PostgreSQL, WbDataDiff didn't compare array columns correctly.
- When copying data as text to the clipboard, columns with NULL or empty values were not copied correctly.
- WbImport failed when using -quoteCharEscaping=duplicate and the first column of the input file contained a quoted empty string (e.g. "")
- Setting a different background color for the editor was no longer working
- For PostgreSQL, the source of trigger definitions wasn't generated properly if the same trigger existed in multiple schemas
- For PostgreSQL, pg_get_constraintdef() is now used to generate the DDL for foreign keys
- It was not possible to configure the color of the table grid lines for the FlatLaf Look & Feel
- For PostgreSQL, the format for time columns wasn't used
- For PostgreSQL, domains with multiple constraints weren't retrieved or displayed correctly.
- It wasn't possible to assign keyboard shortcuts to "Indent" and "Un-Indent"
- When changing the font size in the editor, the scrollbars weren't updated correctly
- Zooming fonts with the mouse wheel did not work any longer.
- The option to copy connection properties to system properties was not saved when the properties storage for connection profiles was used.
- For PostgreSQL, implicit sequences (identity, serial) where not shown in the dependency of a table
- When exporting to Excel (XLS, XLSX), SQL Workbench/J tries to cleanup invalid date/time formats
- The "Save As" dialog wouldn't work, if the previously an XLS export was used, but the POI libraries aren't available
- OpenDocument spreadsheets (.ods) where not generated correctly
- For DB2 for i, the procedure GENERATE_SQL is now used for most objects to re-generate the DDL
- The option "Use as retrieval filter" was not saved when connection profiles were stored as XML.
- Fixed problems when moving the application between different HiDPI screens on Windows.
- For DB2i, improved the performance when loading system names or remarks in the DbExplorer.
- Removed the hard-coded alternate shortcut F9 for "Execute selected".
- In the "Copy data to clipboard" dialog, the "Selected rows" option wasn't always enabled correctly.
- If no backup directory was defined, opening of the "Backup" options wasn't possible.
Build 128 (2021-11-01)
Enhancements
- SQL Workbench/J now requires Java 11 or later.
- It's now possible to filter the list of shortcuts in the "Configure shortcuts" dialog.
- For DB2i it's now possible to enable retrieving of "system names" for tables.
- Then new "Copy as text" dialog now detects selected columns.
- For XSLX, XLS and ODS exports it's now possible to specify column names that should be treated as formulas rather than "plain" values.
- Added support for new features in PostgreSQL 14
- WbImport now allows to specify a grouping character for importing numbers formatted with one
- For Informix, unique and check constraint are not correctly included in the generated DDL.
- WbImport can now read directly from GZipped files.
- "Copy to clipboard" now uses the same dialog as "Save Data As" to allow full customization of the copied data
- Improved compatibility with the FlatLaf look and feel.
- It's now possible to dynamically change the statement delimiter using the WbDelimiter command.
- When code completion for tables is shown, "table functions" (aka "set returning functions") are now included for DBMS that support them.
- It's now possible to define macros that can be run from the context menu in the DbExplorer. Currently this is limited to table and column nodes.
- A new command, WbRunResult to run the result of a query as a SQL script is available.
- WbDataDiff now supports a parameter to control the way identity/autoincrement columns are handled in the generated INSERT statements
- The console now supports basic auto-completion
- When using WbInclude or running SQL scripts in batch mode, the last error is now available in SQL Workbench variables
- The text and background color for the line numbers in the editor can now be configured
- For WbExport, it's now possible to specify the literals to be used for boolean values
- When using "Save data as..." it's now possible to include column comments the way -enableComments is working for WbExport
- It's now possible to use an external pager when running in console mode
Bug fixes
- For Postgres, the source of DOMAIN definitions was not generated correctly if check constraints were included.
- Fixed a regression introduced in 127.5 that made -clobAsFile=true no longer work for some DBMS.
- When printing results with NULL values, the layout of the printed table was not correct.
- For Oracle, when using WbImport with -mode=upsert and -columnConstantValues, a wrong SQL statement was generated
- For Postgres, when using WbImport with -mode=upsert and -columnConstantValues, the columns for the constant values were not included in the UPDATE part of the INSERT statement
- When Using an Oracle connection without a username, displaying the table definition or the table's source resulted in an error
- For some fonts, "Optimize column widths" did calculate the width incorrectly
- Improved the performance for retrieving the list of procedures and functions in Oracle
- For SQL Server, the DROP statements for multiple sequences wasn't generated correctly.
- For Oracle, the COMPRESS attribute wasn't generated properly for tables and materialized views
- Using WbImport with -columnExpression (to call functions on column values) wasn't working any more
- Fixed cursor positioning problem on HiDPI displays for Windows
- When using the properties based profiles, passwords that end with a backslash weren't loaded properly
- Setting a (new) master password did not work if global SSH passwords were defined
- For Oracle, using the alternate delimiter sometimes didn't work.
- Fixed startup problems with the Windows launcher and Java 16.
- Resetting a "separate connection" in a panel of the main window did not longer work if the DbTree was enabled.
- When using "Save Data As" to generate MERGE statements, the column selection wasn't used.
- When using -singleFile with WbDataDiff, values with empty lines weren't properly written to the output file.
- When exporting data into an XLS Spreadsheet, existing number formatting wasn't always preserved.
- Depending on the configuration, reading a NULL value for BLOB columns could result in an NullPointerException.
- For Oracle, identifiers with leading underscores were not quoted correctly.
- "Create VALUES list" did not always detect numbers correctly.
- For WbExport and WbImport, using -quoteEscape=escape did not work correctly
- For Oracle, the DDL for tables using sub-partioning templates wasn't correct.
- For PostgreSQL, MariaDB and MySQL the precision of timestamp (datetime) columns was not shown.
- For MySQL, the DbExplorer did not correctly show stored procedures.
- For PostgreSQL, WbDataDiff did not work if the primary key contained citext columns
- "Copy to clipboard" failed if any value contained a tab character.
- When using "Show PDF Manual" the manual was expected in the wrong location.
- When using "Separate connection per tab", the window title wasn't updated correctly when switching tabs
Build 127 (2020-08-22)
Bug fixes
- It was no longer possible to run GRANT or REVOKE statements.
Build 126 (2020-08-09)
Enhancements
- WbExport will now abort if a text export is started without a quote character but a quote character would be needed.
- For PostgreSQL, subscriptions and publications for logical replication are now shown in the DbTree and DbExplorer.
- For PostgreSQL, the attribute of IDENTITY REPLICA is now shown in the generated DDL.
- "Make uppercase" and "Make lowercase" now also work if no text is selected. In that case, (only) the character at the cursor is changed
- Passwords can now securely be encrypted using a master password. The old password encryption is no longer supported.
- The properties base profile storage (wb-profiles.properties) is now the default. The old XML format is still supported.
- WbVarDef now supports conditional execution.
- WbCopy now supports views as the source by using -includeViews=true.
- The result panel is now automatically displayed if it was minimized before running a statement.
- It's now possible to configure italic and bold for syntax highlighting
- For SQL Server, partitioning information about a table is now included in the generated DDL
- WbImport can now import all sheets of a spreadsheet into the same table when -sheetName=* is specified together with -table
- The annotation @WbResultAsText can now be used to turn the "text mode" display on for multiple statements
- For PostgreSQL, the "match mode" of foreign key constraints is now displayed and included in the generated DDL
- A new Windows launcher is available that removes the need for a separate 64 and 32 bit executables and can optionally download a JRE
- It's now possible to optionally open the saved file when using "Save As"
- It's now possible to use a special variable in WbImport to assign the input file's line number to a column.
- It's now possible to cycle through the result tabs using a keyboard shortcut.
- When exporting a single table from the table list (Database Explorer or DbTree) it's now possible to select the columns to export.
- It's now possible to display results in GUI mode as "text" in the messages area.
- It's now possible to define a SQL expression to be used in the INSERT statement that WbImport uses to apply SQL functions on the input value.
- Selecting foreign key values is now also supported for DELETE statements.
- The list of shortcut keys can now be exported (with the usual "Save As" formats)
- Invoking code completion in the WHERE clause without a column now displays all columns of all used tables of the query
- For MySQL and MariaDB versions that support them, check constraints are now shown in the generated DDL
- Recently opened files are now accessible through the "File" menu.
- For PostgreSQL, default values on columns of views are now shown in the generated DDL
- For HSQLDB 2.5, the new options for temporal tables are now shown in the generated DDL
- Added new command WbSetSchema to change the current schema using the driver's JDBC API
- For PostgreSQL 12, the new computed columns are now shown in the generated DDL
- The tooltip of a column header now always includes the table name if available
Bug fixes
- For Redshift, tables sources were not always displayed
- When using WbImport with mode=upsert and a table that has a multi-column primary key, the wrong MERGE statement was generated for SQL Server, HSQLDB and DB2
- When exporting to ODS, the generated files could not be opened with Microsoft Excel.
- Using nested WbIncludes failed with an exception
- When invoking code-completion in the ON part of a JOIN, not tables where shown.
- When selecting a global SSH configuration for a connection profile, it was no longer possible to revert to a "non-global" configuration
- When specifying a SSH Tunnel without a password and no keyfile, SQL Workbench did not prompt for the password
- For WbCopy, when using -createTarget=true together with -targetSchema the new table was created in the wrong schema
- Fixed an issue when loading the SQL Server JDBC driver with certain versions of OpenJDK
- For SQL Server, when including the CREATE TABLE statement in the output when exporting data as SQL the export failed
- WbDataDiff did not work properly if the key columns contained NULL values.
- When exporting or saving data, it was not possible to enter the filename manually into the dialog.
- Month names were case sensitive when using -dateFormat or -timestampFormat with WbImport
- For Oracle 18c and later, index information wasn't displayed correctly.
- For Oracle 18c and later, DDL for identity columns wasn't generated correctly.
- For Oracle, the generated IGNORE_DUP_KEY hint was incorrect if the order of the PK columns was different to the column order of the table.
- Assigning multiple variables with WbVarDef was not possible if -variable was used.
- For Redshift, finding tables on the search path was no longer working.
- For PostgreSQL, using the JDBC driver 42.2.11, the value for columns defined as "timestamp with time zone" could not be retrieved any longer.
- The cursor position wasn't calculated correctly, if real tabs where used in the editor (regression from 125.6)
- Sorting columns defined as arrays in the result did not work properly.
- The new Windows launcher (introduced in 125.5) did not work if run from a directory with spaces in the name
- Fixed some problems with the cursor position in the editor with High-DPI displays (on Windows)
- For PostgreSQL, the DDL for partitioned tables with sub-partitions was not generated correctly
- Using WbImport with temp tables as the target did not work with PostgreSQL and SQL Server
- When using UCanAccess certain types of "linked columns" are now displayed correctly.
- For DB2 on AS/400 the CSID attribute was also generated for data types where it wasn't relevant.
- Individual statements were not detected correctly in the editor if the text started with a semicolon.
- "Create SQL List" did not work properly if only a part of the first or last line was selected.
- For PostgreSQL, the dependency display of trigger functions wasn't working any more.
- When using Page Down when the editor text was shorter than the number of lines, the display was corrupted.
- When closing the macro dialog while macros were filtered, only the visible macros were saved.
- For PostgreSQL, check constraints and default values were no longer displayed correctly in the generated DDL
- For XLSX exports, using -infoSheet did not work any longer
- When using -endRow with WbImport, the following rows weren't exported, but the input file was still read until the end
- Filtering the list of macros did no longer work correctly.
- For SQLite, all values are now retrieved as strings to workaround problems with the lack of explicit data types.
- Common table expressions containing DML are now correctly identified when the "Read Only" option is selected in the connection profile.
- The XML file generated by WbSchemaDiff was incorrect when multiple views need to be dropped.
- The SQL formatter removed trailing semicolons if only a single statement was formatted.
- Fractional seconds were not correcly formatted in timestamp literals in generated SQL statements.
- When editing a result with columns from multiple tables where the columns were not fully qualified, an exception occurred rather than a usable error message.
- Conditional execution of Workbench commands using -ifDefined and -ifNotDefined behaved the same as -ifEmpty and -ifNotEmpty
- For Postgres, infinity values for timestamp with time zone could not be read from the database.
- If the JDBC driver returned LocalDateTime or LocalDate values, those weren't formatted properly in SQL statements or text files.
Build 125 (2019-05-08)
Enhancements
- All additional libraries are now expected in the directory "ext".
- In the DbExplorer, using "Show Rowcounts", now displays the row counts as a new column in the table list.
- WbDataDiff now also supports -clobAsFile when generating SQL statements
- For WbExport and WbDataDiff -clobFileThreshold has been added
- For MariaDB 10.3, sequences are now displayed in the DbExplorer
- The "Manage Macros" dialog now also supports filtering of the macros.
- For Oracle, the generated DDL for tables now contains the definitions of extended column statistics.
- It's now possible to control the behaviour of WbDefineVar when NULL values are retrieved through a SQL query
- It's now possible to specify a message with WbEcho that is displayed even if verbose logging was turned off (e.g. using -verbose=false for WbInclude)
- For WbExport and WbImport, it's now possible to define the values for -quoteChar and -delimiter using unicode escape notation (e.g. \0008)
- WbDefineVar now supports the -silent option so suppress the details about the defined variable
- For conditional execution of some SQL Workbench/J commands, checking for the (non) existence of files or tables is now supported
- For Postgres, comments on foreign key constraints are now displayed in the DbExplorer and the generated DDL source
- Confirmation to close "Other tabs" can now be configured separately.
Bug fixes
- For SQL Server, DateTime values were not displayed correctly
- For Oracle the source of materialized views using ON PREBUILT TABLE was incorrect.
- Relative file names were treated differently by the SQL Workbench commands and the ifFileExists check.
- For MySQL, the source of triggers wasn't displayed.
- Copy to clipboard did not use the format string for decimal values
- For Oracle, using -mode=upsert with CLOB columns did not work for WbImport
- For some JDBC drivers, the console did not display the column's alias, but the real column name in a result
- For Postgres, nesting dollar quoted strings did not work.
- When retrieving XML columns using a driver that supports the JDBC API getXML() NULL values would result in an error.
- For Postgres, the generated source for an extension in the DbExplorer was not correct.
- The detection of the DB2 version was no long working correctly
- Numbers that can't be stored in Excel's file format are now exported as strings rather than numbers
- For Oracle, certain timestamp values were incorrectly exported.
- For Oracle 12, statements using "WITH FUNCTION" or "/*+ WITH_PLSQL */" to create inline PL/SQL functions could not be executed.
- WbCall did not display values for OUT parameters for all data types.
- For Oracle, the status of foreign keys (enabled, validated) was no longer displayed in the DbExplorer.
- For PostgreSQL, retrieving the policies for row level security was not working for versions prior to 10 any more.
- When using -profileStorage wih a filename without a path, files located in the config directory where not found
- Generating a SQL script using WbDataDiff on tables with timestamptz columns in Postgres did not work
Build 124 (2018-08-20)
Enhancements
- WbExport can now write .xlsm files ("XLSX with Macros")
- In the auto-completion popup for columns, the column's data type is now displayed
- For PostgreSQL, row-level policies created for a table are now shown in the generated DDL
- Added auto-completion support for Oracle's SHOW command
- Added auto-completion support for PostgreSQL's SHOW, SET and RESET commands
- Added support for new features in PostgreSQL 11
- Improved support for Greenplum
- It's now possible to lock a result not only through the GUI, but also through the annotation WbKeepResult
- It's now possible to define global SSH hosts that can be selected for each connection profile
- It's now possible to display the column's table in a query result if the JDBC driver provides that information
- When importing Excel sheets it's now possible to disable the automatic re-calculation of formulas
- It's now possible to use multiple profile files by specifying a directory through the -profileStorage parameter
- It's now possible to define environment variables for the programs started through WbSysExec
- For PostgreSQL, user defined collations are now shown in the DbExplorer and DbTree
- For PostgreSQL, Oracle and SQL Server time zone information can now be displayed for columns that contain that information (TIMESTAMP WITH TIME ZONE or datetimeoffset)
- For DB2 for I, variables are now shown in the DbExplorer and DbTree
- For DB2 for I, the character set of columns (CCSID) is now shown in the generated DDL statements.
- It's now possible to use the schema filter expressions from the connection profile as parameters to the JDBC API call to speed up schema retrieval.
- It's now possible to define more flexible filters for the DbExplorer's table list
Bug fixes
- For Postgres, WbCopy was not able to write values into TIMESTAMPTZ column.
- For Oracle versions 10 or lower, the source of materialized views was no longer displayed.
- For Oracle, when displaying the procedures in the DbExplorer and choosing "*" for the schema, the procedure owner was no longer shown in the list of procedures.
- For SQL Server, the DROP statement generated for sequences was not correct.
- If the option "Always allow "Execute selected" was disabled, directly after opening the window "Execute Selected" would still run all statements.
- Running a macro by using the macro's name did not work if there was a comment preceding the macro's name in the editor.
- When a result was locked ("Keep result") subsequent new result tabs were not always activated automatically.
- When connecting to a profile with a corrupted workspace, the main window was not usable any more.
- Additional libraries were no longer loaded when starting SQL Workbench/J using "java -jar sqlworkbench.jar"
- When multiple columns where selected in a result, the "Filter by value" was applied using only the first selected column.
- The -commitEvery parameter for WbImport and WbCopy did not work
- When using WbConnect with nested WbIncludes, the connection would not be closed if an error occurred
- When using "Check foreign keys" in the dialog to drop multiple objects, non-table objects were removed.
- "Save As" did not use the profile's default directory
- The default directory of the profile was not used when opening files
- Implemented a workaround for SQLite, so that invalid DATE values could be read from columns defined as DATE.
- When using "quoteCharEscaping=duplicate" with WbImport, empty strings or strings that only contained a single (escaped) quote character were not imported correctly.
- In case of an error, the cursor in the editor was no longer moved to the error position.
- For PostgreSQL, the generated DDL for foreign servers was incorrect
- For Oracle, NUMBER columns without precision were exported with a decimal separator to Excel files.
- Showing rowcounts in the DbExplorer did not work.
- For Oracle, the result of functions returning a refcursor was not displayed correctly.
Build 123 (2017-09-25)
Enhancements
- It's now possible to jump between statements in the editor.
- For Postgres global objects are now shown in the DbTree and DbExplorer
- WbExport now supports specifying a format pattern when exporting numbers to text files.
- Expandable macros now also support placeholders for the selected text and statement.
- WbDataDiff can now optionally create INSERT statements for tables that do not exist in the target database.
- Added support for new Postgres 10 features (partitioning, identity columns)
- For Firebird, DOMAINs are now included in the dependency display
- WbImport now also supports the -skipTargetCheck option
- It's now possible to define a default directory for a connection profile that is used e.g. for WbInclude or WbExport
- The default encoding used for files in the editor can now be changed in the options dialog
- WbImport and WbExport now support the -locale parameter to define the locale used for parsing and formatting dates and timestamps
- For Postgres, the type of an index (btree, brin, gist, gin, ...) is now shown in the DbExplorer
- For Postgres, TYPEs are now included in the dependency display
- The formatting of numbers can now be controlled in more detail
- For SQL Server and MySQL the USE command now supports code-completion
- Generated DDL scripts now only contain commit statements if the current connection is not set to auto-commit (and the DBMS supports transactional DDL)
- For Postgres, a tablespace other then pg_default will now be displayed in the generated source for tables and indexes
Bug fixes
- SQL Workbench could not be started with Java 9
- BLOB and NVARCHAR literals were not handled correctly when formatting a statement
- Replacing variables inside other variables did not always work
- WbSchemaDiff did not handle multiple indexes on the same column list correctly
- It was no longer possible to connect to a SAP DB
- Navigating foreign keys from the result set did not work for non-numeric data types
- Made saving of Workspaces more robust against errors.
- For SQL Server, if integratedSecurity=true was used, SQL Workbench still prompted for a password
- Made the SQL formatter more robust against useless parentheses around sub-selects
- When an expandable macros was invoked through the menu, the cursor position was not correct when using ${c}
- It was not possible to change the statement/query timeout in GUI mode using SET TIMEOUT
- Detaching a result was longer possible in build 122.2
- The option "Remove comments" was not working with databases are using non-standard characters to quote identifiers
- For Oracle, the display format for timestamps was not used for "timestamp with time zone" values
- SSH tunneling did not work with Oracle when using a service name in the JDBC URL
- If the MacroPopup was open and a profile with a different macro file was loaded, the macros in the popup weren't re-loaded
- Fixed the handling of long column names in the dialog to select columns
- WbCopy did not work if there was another object (e.g. a sequence or view) in the source database with the same name as the table specified with -sourceTable
- The dialog to select columns for copying them to the clipboard did not display all options on Mac OSX.
- Changing between connection profiles that had a non-standard macro file and profiles using the standard macro file could lead to a situation where the standard macros were no longer available.
- "Put SELECT into Clipboard" did not work any longer in the DbTree or DbExplorer
- Using -sourceDir to import multiple files into a single table did not work if -fileColumns was not specified
- WbDataDiff failed when using -includeDeletes=true and the comparison was done between two DBMS that stored object names differently (e.g. UPPER vs. lowercase)
- The parameter -varFile did not work anymore
- For Oracle, the "realplan" option for autotrace did not work for queries starting with a common table expression (WITH)
- For Oracle, NUMBER columns with a negative scale e.g. NUMBER(10,-2) were not displayed correctly
Build 122 (2017-02-04)
Enhancements
- Conditional execution of Workbench commands now support -isDBMS and -isNotDBMS
- Added basic support for EXAsol
- Added support for SSH tunneling per connection profile
- When loading a SQL script it's now possible to automatically detect the encoding
- It's now possible to filter the output of WbVarList
- It's now possible to pin a result tab so that it doesn't get closed even if append mode is not enabled
- WbExport, WbImport, WbCopy and WbConfirm now support conditional execution
- WbTriggerSource now also supports writing the source to a file
- For Postgres, dependencies between triggers and tables are no shown in the DbExplorer and DbTree
- For Postgres, functions defined as "returns setof refcursor" are now processed correctly when using "select * from function()"
- For Postgres, it's now possible to import values into array columns if the source data is formatted as a Postgres array literal (WbImport and WbCopy)
- A new annotation (@WbCrossTab) is available to create simple crosstabs (aka "pivot") from query results.
- Improved editing of Postgres' hstore result columns.
- For SQL Server, the object dependencies now include named default constraints and custom data types
Bug fixes
- For Oracle the DDL for tables using reference partitioning was not generated correctly
- In batch mode when specifying a connection profile using -profile, the setting to ignore drop errors from the profile was ignored
- The width of the DbTree was limited if the DbExplorer panel was also displayed
- For HSQLDB, BIT columns were not displayed correctly.
- For Oracle, the DEDUPLICATION option was not shown for LOB columns
- Auto completion did not overwrite a partial table (or column) name if that part was a SQL keyword.
- Activating the object list filter in the DbExplorer by using the toolbar button did not work reliably.
- Passing connection properties using -connectionProperties to WbCreateProfile did not work
- When using a profile specific macro file, opening a new window did not always work.
- When using an Oracle 12.x JDBC driver, materialized views were always reported as missing with WbSchemaDiff
- It was no longer possible to select "As Is" for the built-in SQL formatter
- Several features in the DbExplorer did not work for Amazon Redshift
- Feedback from connect scripts was not always shown in the message tab
- Error messages were not shown for errors that occurred in connect scripts
- For Postgres, the remarks for indexes were not retrieved correctly if indexes with the same name existed in different schemas
- The formatter did not treat the := operator properly for MySQL
- For Postgres, the source of a table was not shown when an old (unsupported) version of Postgres was used
- For SQL Server (and other DBMS supporting schemas and catalogs) the list of schemas was not properly refreshed when the database was changed in the DbExplorer's dropdowns
- For Oracle, value literals for RAW columns where not created correctly
- For Oracle, -clobAsFile for WbExport was not working for XML columns
- For Oracle, overloaded procedures inside packages where no longer displayed.
- For SQL Server, the source of procedures, functions and triggers was not displayed correctly in the DbExplorer for databases other then the default database of the connection.
- When using -configDir in console mode the connection profiles were still loaded from the default location.
- For Postgres, when generating scripts for tables and sequences the owner column for a sequence was not correctly generated.
Build 121 (2016-07-31)
Bug fixes
- Some DDL statements were not generated properly when changing tables or indexes in the DbExplorer
- For Oracle, columns defined as TIMESTAMP WITH TIME ZONE or TIMESTAMP WITH LOCAL TIMEZONE where not displayed correctly
- It was no longer possible to use a timestamp format without time for WbImport
- When loading a new macro file, the macro menu was not updated.
Build 120 (2016-07-17)
Enhancements
- It's now possible to delete variables using wildcards
- It's now possible to test the connection from the profile dialog
- For Postgres, the generated source code for functions and custom aggregates now contains the new PARALLEL settings for Postgres 9.6
- It's now possible to show a quick filter in the macro popup window
- When searching for a JDBC driver class in the driver's jar file, available service registrations are used to speed up the searching.
- It's now possible to disable icons in menus
- For HSQLDB 2.3.4 synonyms are now displayed
- It's now possible to configure the buttons on the toolbar
- It's now possible to restore recently closed editor tabs
- For Progress OpenEdge, squences and synonyms are now shown in the DbExplorer
- It's now possible to associate variables with the connection profile and the workspace
- For SAP HANA the source for synonyms are now shown
- For SAP HANA dependency for tables, views, triggers, procedures and sequences are now shown in the DbExplorer and DbTree
- A new command (WbGenerateFKScript) is available to generate the DDL for only the foreign key constraints.
- For DB2 10.5 indexes based on expressions are now shown correctly
Bug fixes
- For SQL Server, the source code for user defined object types with columns was incorrect.
- For DBMS supporting catalogs and schemas, auto completion for large schemas was slow.
- Fixed a problem where in rare cases, closing an editor tab could hang the application.
- Ignoring the "Max Rows" setting in the DbExplorer's table data did not work any more
- WbListMacros, WbDeleteMacro and WbDefineMacro were always using the default macro file
- Timestamps with microseconds (.SSSSSS in the format) where not imported correctly with WbImport
- For Postgres, the LEAKPROOF attribute was not included in the generated source code for functions
- WbSchemaDiff incorrectly combined all tables to be dropped in a single tag
- For Postgres, the format of hstore literals was not correct when exporting data as SQL statements
- For Postgres, hstore columns could not be edited in a query result
- The ALTER TABLE OWNER TO statement for Postgres was not created correctly
- It wasn't possible to use -mode=Upsert or -mode=InsertIgnore with WbCopy
- Parsing of comments in SQL statements is now more lenient with invalid (nested) comments
- When changing the position of SQL tabs with files loaded, the Workspace was not saved properly
- For Progress OpenEdge, the SQL generated for sequences was invalid
- For Postgres, the implicit index for an exclusion constraint was incorrectly added to the source of the table
- The format of a hstore and array literals was not correct for generated SQL statements
- For Oracle procedures from packages that contained only procedures without parameters were not displayed.
- Implemented a workaround for the MariaDB JDBC driver that returns invalid object type names for tables ("BASE TABLE" instead of "TABLE")
- Generate "DROP script with dependencies" was no longer working in the DbExplorer or DbTree
- When using SQL Workbench in batch mode, passing quoted parameters on the command line did not work properly
- The DDL for tables was not displayed when using Amazon Redshift
- Using sqlwbconsole.sh together with -command or -script on a headless system did not work
- The display for LVARCHAR and DATE columns was not always correct for Informix
- Warnings that were reported by the JDBC driver after establishing the connection were sometimes shown in the generated DDL in the DbTree
- The DDL for sequences in Oracle did not reflect the values for CYCLE and ORDER
- Running PL/SQL in Oracle did not work if the option "Remove comments" was enabled in the connection profile
- When using "Create DDL script" in the DbExplorer, the source for materialized views was generated twice
- With certain Oracle driver versions, TYPEs where displayed twice in the DbExplorer or the DbTree
- When exporting to text files, values containing the line delimiter were not quoted properly
- With SQL Server, it was not possible to drop indexes from within the DbTree
- Passwords are no longer trimmed
Build 119 (2016-01-31)
Enhancements
- It's now possible to display the column's data type in the header of the result table
- When importing all files from a directory, WbImport now provided pre-defined variables with the filename
- It's now possible to configure auto-saving of external files independently from auto-saving the workspace.
- A new command WbMessage to display a simple message is available.
- It's not possible to search text in all open editors (Tools -> Search all tabs)
- For some DBMS, the DbTree and DbExplorer now show the dependencies between objects
- For DB2/iSeries table and column comments can now be retrieved from the system catalogs instead of using the JDBC driver.
- For Postgres it is now possible to manually control transactions using BEGIN .. COMMIT when the connection is set to autocommit
- The list of tables in the DbTree is now sorted to work around bugs in JDBC driver that do not properly sort the list of tables
- For DBMS that support it, two new modes have been added to WbImport: -upsert and -insertIgnore using native "UPSERT" functionality if available
- For Firebird the SQL source of external tables is now generated correctly.
- An new command WbGenerateImpTable is available to infer the structure of a table from an import file
- The command line parameter -vardef has been deprecated and replaced with -variable and -varFile
- It's now possible to provide tags for each connection profile. The quickfilter will then use the defined tags for filtering the displayed profiles.
- Connection parameters specified on the command line now have precedence over the properties defined through a Liquibase defaults file (specified through -lbDefaults)
- It's now possible to enable the use of Oracle's DBMS_METADATA for source code retrieval for different types of objects
- The tooltip shown for result tabs can now be configured (Options -> Data display)
- For the internal SQL formatter, it's now possible to configure the case in which data type names are written
- A new action to run all SQL statements up to the cursor position is available
- The error dialog that is displayed when running a script can now be configured to also include the error message or the statement that failed
- Improved display of packages in the DbTree for Oracle and Firebird
Bug fixes
- Showing rowcounts in the DbTree did not work for DB2
- "Generate Delete Script" for a selection of rows in the result did not display the generated script.
- When reloading the whole DbTree while a node was selected, would show elements (e.g. tables) twice
- CREATE TABLE statements were not formatted correctly if the name consisted of quoted and unquoted parts (e.g. unquoted schema and quoted table name)
- The error dialog when running running multiple statements was not displayed on Linux if the option "Include error message" was selected in the "SQL Execution" options
- Improved the performance when retrieving table definitions and table source for Oracle
- For Postgres, rules defined on a table where shown twice in the generated DDL script
- Retrieving additional column information in the DbExplorer failed on SQL Server if a non-standard database collation was used
- The DDL for constraints or comments where identifiers required quoting was not correct
- The formatter would not process statements correctly where a sub select using function calls in the WHERE clause was used in a JOIN condition
- When using "Remove Comments" for a connection profile, the error position inside a statement was not shown correctly for some DBMS
- For Oracle, when using "Trim CHAR data" and editing tables where the primary key column was defined as CHAR, updating the result did not work.
- Toggle comment did not toggle correctly when some lines were already commented and some not
- The messages shown when using conditional execution with WbInclude did not properly include the variable name or value
- For Oracle the tablespace of materialized views was not shown in the generated SQL (Fix contributed by Franz Mayer)
- It was not possible to work with SAVEPOINTs correctly
- Table definitions for tables with VARCHAR columns were not displayed for Oracle
- Disabling the check for read-only columns did not work for all JDBC drivers
- WbCopy now stops with an error if -targetTable is specified and -sourceTable is used to specify multiple tables
- For DB2 the names of PK constraints where not properly qualified with a schema if needed
- Sometimes using "Execute current" would not correctly identify the current statement and run the first statement from the editor
- WbImport using -insert,update did not work for multi-column primary keys when not all PK columns where part of the input file
- When a variable value contained the prefix and the suffix of the variable pattern, using such a variable would result in SQL Workbench/J locking up
- Reloading a trigger source in the DbExplorer's trigger panel did not work
- For Oracle the source of a trigger that had a trailing space in the name was not retrieved
- For Oracle the position of errors in regular (non-PL/SQL) DDL statements was not shown
- When starting SQL Workbench on a headless system, using "java -jar" using the -script parameter did not work any longer
- For SQL Server 2000, retrieving the source of a view did not work
- For SQL Server, generating "dummy DML" for tables with "bit" columns did not work
- For MySQL the option "on update" for a default value was not shown in the generated SQL source for a table
Build 118 (2015-08-16)
Enhancements
- Added support to include computed columns for MySQL 5.7 in the generated CREATE TABLE source
- The source and target connection for WbCopy, WbSchemaDiff and WbDataDiff can now be specified on the command line when starting the application. In that case it's not necessary to provide them to the respective commands
- A new action to run all SQL statements in the editor starting from the cursor position is available
- It's now possible to use OS environment variable or Java properties in the username of a connection profile.
- For Postgres, "COPY .. FROM stdin" with the data after the statement is now supported
- It's now possible to define external tools to format SQL
- For decimal values WbExport now supports the parameters -fixedDigits and -maxDigits.
- It's now possible to enable editing (and running) the generated SQL source code in the DbExplorer directly.
- For Oracle, messages from dbms_output are now always shown if a procedure is started using EXECUTE regardless of the setting of "set serveroutput"
- Added some basic support for SAP HANA.
- For Excel imports, the option -stringDates=true retrieves Dates as formatted strings and converts them using the date/timestamp format specified in the WbImport command rathr then reading a converted value from the Excel file.
- For Excel exports, the start location where the data should be written to in the excel file can now be specified using the -offset parameter
- The application to be used for displaying the logfile can now be configured.
- WbSchemaReport has a new (boolean) option -writeFullSource to write a valid CREATE VIEW statement to the XML output in case the DBMS does not store the complete SQL
- Results can now automatically be refreshed either through an annotation or through the context menu of the result tab
- The macros in a group can now be sorted alphabetically
- The quoting of the null values for text exports can now be enabled through the option -quoteNulls
- The quoting of the header for text exports can now be enabled through the option -quoteHeader
- The statement at the cursor position can now be copied directly into the clipboard (Code Tools -> Copy current statement)
- For Oracle, the partitions of a materialized view are now shown in the source code
- WbImport and WbCopy (including the DataPumper) can now be used to insert data into a view
- For tables without a primary key, unique indexes that contain nullable columns are no longer considered when generating DML statements
- For Vertica tables and views from the schema "v_internal" are now show in the DbExplorer (contributed by Tatiana Saltykova)
- It's now possible to define the terminator string for "Copy Code Snippet" through the config property "workbench.clipcreate.codeend"
- Macros and macro groups can now be excluded from the popup window
Bug fixes
- The menu to select data from referenced/referencing tables in a result set was disabled when switching to the DbExplorer and back to the SQL panel
- -syncDelete with WbCopy did not work if alternate key columns were specified using -keyColumns
- Fixed retrieval of stored procedures for DB2 on AS/400 (thanks to Francesco)
- Fixed detection of update columns for multi-table result sets when the name of the PK columns is not uniuqe in the result set
- For Firebird the source code for procedures with multiple out parameters was not generated correctly.
- For PostgreSQL, SQL statements to create the comment for functions with OUT parameters were not generated correctly.
- When running a single command in batch mode, the error status was not returned correctly to the operating system
- WbExport no longer uses the GUI defaults for decimal digits. The default is now to always export all digits, unless the new -maxDigits parameter is used
- For MySQL, when multiple tables with the same name in different databases had triggers defined, all triggers where visible for each table in the DbExplorer
- When importing multiple files using -usePgCopy and one file generated an error, the previous import was not committed
- WbConnect would prompt for a password for profiles with an empty password even if "Save password" was enabled
- No parameter prompt was shown for INOUT parameters when running procedures using WbCall
- Implemented a workaround for an Informix driver bug where index information for the wrong table was returned
- Double quotes in column values were not escaped properly when creating a JSON export
- When switching between views and tables in the DbExplorer the foreign key tabs were no longer shown for SQL Server
- Compile errors for Oracle's PL/SQL where not always shown correctly
- Parameters for SQL Workbench commands with nested single and double quotes that included SQL comments were not evaluated properly
- Fixed restoring of the window position when using multiple monitors
- Generating the SQL source for computed columns did not work for SQL Server 2000
- The SQL source for inherited tables in Postgres was not generated correctly.
- The SQL source for sequences for SQL Server was not generated correctly.
- "Create DDL script" in the DbExplorer would generate the source code for sequnces twice
- Nano (or micro) seconds from timestamp values where not displayed correctly
- When opening a file, it is now checked if the selected encoding matches the one from the file
- Each time when reloading a result that uses the @WbMacro annotation, the macro sub-menu would be added to the context menu again
- For Informix, default clauses for columns were not generated properly in the DbExplorer
- For Informix, index definitions were not always displayed correctly
- Overloaded functions and procedures where not handled correctly by WbSchemaDiff
- For Postgres the wrong DROP FUNCTION statement was generated if a function contained OUT parameter
- Scripts that contained statements including character literals with a backslash were not always parsed correctly.
- When WbImport did not find any matching columns, the error message did not include the (faulty) source file
- Fixed the display of the profile tree with large fonts
- The DataPumper did not work if source and destination had a different number of columns
- The generated WbCopy command in the DataPumper was not correct when a query was used as the source
- XLSX export did not work if the output file was specified without an extension
- Fixed some issues with restoring the window position on multi-monitor systems
- Fixed some issues where the alternate delimiter was incrrectly used when running scripts through WbInclude
- When importing multiple Excel files with WbImport using the -sourceDir argument, only the first file was imported
- The abbreviated WbInclude using @ only worked with Oracle
- The minutes for columns of type "timestamp with time zone" where not always displayed correctly in Oracle
- Oracle's autotrace did not work in console mode
- Using pgpass for Postgres connections did not work in console or batch mode
- WbProcSource would not show the code for a packaged procedure in Oracle
- Fixed some problems in the SQL formatter that would lead to invalid SQL syntax
- XSLT transformations failed when the output filename didn't include a directory
- Disabling "Filter while typing" in the DbExplorer was not possible
- -targetConnection and -referenceConnection for WbSchemaDiff and WbDataDiff were broken
Build 117 (2015-01-04)
Enhancements
- Added support for triggers and stored procedures in Teradata
- When defining a variable a list of possible values can be specified to be used when prompting for the variable value
- For Oracle the generated table source will now contain LOB storage parameters.
- It is now possible to put macros into the context menu of a result through the @WbMacro annotation
- When using the console on Linux, the window title of the terminal window will now show the name of current profile.
- For Postgres, SQL Workbench now reads the contents of .pgpass to retrieve passwords if the password is not stored in the connection profile.
- Variables can now be displayed in the order they were defined during prompting (rather than sorted alphabetically) by setting the config property workbench.sql.parameter.prompt.sort to false
- When a connection profile specified with -profile rqeuires the input of a username or the password, only the input dialog is displayed without the profile dialog
- It's now possible to define a default (global) alternate delimiter based on the DBMS.
- The DbExplorer's data tab now limits the number of rows through the generated SQL statement for DBMS that support e.g. "LIMIT" or similar operators
- When using Oracle it's now possible to mix standard delimiter and alternate delimiter in a single script.
- It's now possible to pass a SQL statement through the -command parameter using Linux "Here Documents"
- WbRowCount now has an option to exclude some columns from the result
- The amount of details retrieved from the database when editing a result set can now be reduced through a configuration property. Refer to the Chapter "Advanced configuration options" in the manual for details.
- The meta information retrieved to enable editing a result set can now optionally taken from the completion cache.
- The filter value of the DbExplorer's table list can now optionally be used to limit the number of tables retrieved.
- WbGrepData can now search in BLOB columns if an encoding is specified how the binary data should be converted to character data. The old parameter -excludeLobs has been deprecated.
- When using "Execute current" to run WbExport that has not -sourceTable argument and the next statement in the editor is a SELECT, the export is now started automatically
- When configuring a JDBC driver, the dialog to select the approriate class no longer displays non-usable (=abstract) classes
- For Vertica, the DbExplorer now displays the projections instead of indexes (thanks to Tatiana for the contribution)
- WbCopy, WbSchemaDiff and WbDataDiff can now be used without pre-defined connection profiles
- "Columns to Rows" now creates only a single result with as many columns as rows were selected
- It's now possible to select multiple types individually in the dropdown of the DbExplorer
- WbExport now has additional options to escape control characters and BLOB data such that the output file can be imported using Postgres' COPY statement
- The parser now understand Postgres' "dollar quoting" and thus removes the need to use the alternate delimiter for Postgres
- The ability to specify an alternate delimiter as "single line" has been removed. The alternate delimiter is now always assumed to be on a single line
- It's now possible to load a different macro file for each connection
- The macro popup window can now be configure to be closed using the ESC key
- For Oracle and SQL Server the DbExplorer now shows if a foreign key is enabled
- WbRunLB will now also read scripts included with the <sqlFile> tag
- It is now possible to copy the current result as DbUnit XML to the clipboard. Thanks to Brian for the contribution
- WbGenerateScript now supports the -exclude parameter
- For Firebird 3.0 the source code of procedures and packages is now displayed
- The bookmarks dialog now also includes procedure and function names if available
- The code completion now also caches synonym translation to improve performance
- When running in batch mode and not supplying the -password parameter, a prompt for the password is now displayed
- The last directory for opening files can now optionally be stored in the current workspace
- It's now possible to open multiple files through "File -> Open file". If multiple files are selected, each one is opended in a seperate editor tab
- For Postgres 9.4 the new WITH CHECK OPTION is now shown in the view's source
- An new command WbCreateProfile is available to to create a connection profile (intended for commandline mode)
- An new command WbDefineDriver is available to to create a driver definition (intended for commandline mode)
- For Oracle the list of indexes in the DbExplorer now also shows the index status
Bug fixes
- When using WbExport with -useSchema=false and -createTable=true the create table statement still contained the schema in some cases.
- The detection of the primary key of a table did not work properly if tables with the same name but different primary keys were present in other schemas
- The editor and message panel were using the font the was configured for displaying data
- For Oracle WbListIndexes did not show the expression for function based indexes
- When the option "allow empty lines as delimiter" was enabled, multiple empty lines at the beginning of the script would break the detection of the SQL statements
- The code completion did not work correctly when the cursor was located between the FROM keyword and a JOIN keyword with no tables in between
- When entering PL/SQL blocks in console mode the alternate delimiter was not detected.
- When using a SQL query as the source in the DataPumper the columns from the result were not correctly mapped to the target columns
- When using WbImport with ZIP files, the file locks on the ZIP files were not released after the import has finished
- Fixed some problems in the DbExplorer that would lock up the application
- When using set autotrace traceonly statistics the result of the statement would still be buffered in memory.
- Deleting dependent rows from a result did not work if the PK was not a numberic value
- When using -nullString together with -escapeText the null string was escaped in the output file
- When editing data in the DbExplorer the primary key of a table was not automatically detected any more.
- The alternate delimiter was not always detected correctly.
- When inlcuding Views and Grants for WbSchemaDiff the output file was not written properly for some DBMS.
- When resizing the input dialog for variables or the columns in the table, the dialog was closed
- When copying multiple tables with WbCopy and -mode=update,insert the copy would abort if one table did no have a primary key even if -continueOnError=true was used
- For Postgres and SQL Server it was no longer possible to use empty lines as a delimiter and mix that with the standard delimiter
- The global alternate delimiter (Tools -> Options -> Editor) could not be edited any more
- In console mode, the output did not honor the setting for "Decimal Digits"
- For Oracle 12c the automatically generated sequence for identity columns were not displayed
- For Oracle the position of a function or procedure inside a package was not always detected correctly when displaying the source in the DbExplorer
- For Postgres WbProcSource did not display the source code for functions with arguments
- The source code for views with case-sensitive names was not displayed
- The pre-defined JDBC driver definitions were no longer loaded (e.g. when starting SQL Workbench for the first time)
- For SQL Server and Postgres alternate delimiters with more than two characters using some special characters were no longer working
- The names for primary and foreign keys were not quoted properly in the generated SQL source (if they needed quoting)
- A WbExport based on a following SELECT would always be treated as successful even if the SELECT had an error
- For Postgres sequences linked to columns the generated source code used OWNER TO instead of the correct OWNED BY
- WbExport did not use the default setting for the decimal separator
- It was not possible to unset/clear the global alternate delimiter
- Selecting a single changesets with WbRunLB did not work properly.
- For HSQLDB 2.x triggers were no longer displayed.
- The formatter did not handle non-standard quoted identifiers for T-SQL properly
- WbSchemaReport was writing the columns for foreign keys in the wrong order
- For PostgreSQL the default value of function parameters was not shown in the generated SQL
- For Oracle, synonyms pointing to no longer existing tables where not shown in the DbExplorer
- Cancelling a running WbExport did not work during the retrieval of the table list
- When using the "JOIN completion" the ON (or USING) keyword was added even if it was already present
- For Oracle the position of an error was not shown for CREATE statements
- For Oracle "included" (non-PK) columns for index organized tables were not shown in the generated DDL statement
- Column values for FLOAT columns where not formatted correctly in an Excel export
- WbCopy would show an error message "Table not found" when the preTableStatement failed
- "Copy as SQL .." did not honor the setting of "Check for updateable columns"
- For MySQL the source code for timestamp columns with a default CURRENT_TIMESTAMP was incorrect.
- Encrypting passwords was no longer working
- It was no longer possible to use the {$clobfile=...} syntax in an SQL statement with Oracle
- When using "Execute current" macro names were not recognized
- The cache for auto-completion was not working for DBMS' that return catalog and schema information for a table
- If a profile name contained a forward slash (/) the profile was not selected as the last used profile in the connection dialog
- WbXslt was no longer working
- Look and Feel definitions with more than one library were not loaded any more
- "Copy as SQL INSERT" would not include auto-generated ("identity") columns
- For DB2 comments and grants on views where not displayed in the generated source code
- For Oracle 9.x the source code for packages was not displayed
Build 116 (2014-04-14)
Enhancements
- When exporting data as SQL INSERT using WbExport the inclusion of identity columns can now be controlled with a parameter
- The DbExplorer now supports range types for Postgres
- A new command WbRowCount is available which counts the rows of several tables (it's the commandline version of the corresponding feature in the DbExplorer)
- For Postgres messages received through LISTEN/NOTIFY are now shown in the message panel after running a statement
- Showing the execution plan for Firebird is now supported (using the same syntax as isql)
- Macros can now be saved and loaded from different files.
- Duplicate current line in the editor is now selection aware. If text is selected, the selection is duplicated, rather than the whole line
- WbGenerateScript has a new option to include the table's GRANTs.
- The generation of table grants and DROP statements in the DbExplorer can now be disabled through the options panel
- A new result annotation (@WbUseTab) is available that will re-use an existing result tab with the same name if already present
- The way the conditions for join completion are generated can now be configured.
- The Windows launcher now detects JDK only installations that are identified by the JAVA_HOME environment variable.
- A new option has been added to use the statement of the current line for "Execute current" (instead of the statement defined by the cursor position itself)
- WbExport now supports -targetSheetName to specify the target sheet by name instead of an index value. The options for autoFilter, autoColWidth and fixedHeader now default to false if a target sheet is specicfied.
- Support for bookmarks defined through the annotation @WbTag was added.
- WbImport and WbCopy now support an option to synchronize sequences with the imported values for DBMS that support sequences tied to a column (Postgres, DB2, H2, HSQLDB)
- WbFeedback now supports the options "traceon" and "traceoff". With "traceon" each statement that is executed is printed.
- The trigger panel in the DbExplorer now shows DDL triggers for SQL Server
- A new option has been added to use the name of the first table of a query as the name of the result tab
- When inserting new rows into a result set, the generated values for "auto increment" columns (serial, identity, ...) are now retrieved.
- Computed columns (of table) are now treated better when editing data and generating DML for the changes
- WbCopy and WbImport now run the post table statements even when an error occurs during the import of the data. This new behaviour can be disabled using the new parameter runTableStatementOnError
- In the DbExplorer the column definition now includes a flag to show if a column is a computed column or not
- For SQL Server 2000 the definition of computed columns are now shown in the generated SQL
- The cache for the auto-completion can now be saved locally to speed up the initial auto-completion display.
- A new option for WbInclude was added to print all SQL statements before running them
- The UI of the Save As dialogue was re-designed to make the dialogue more compact
- Changing the font size with the mouse wheel can now be disabled
- WbInclude can now do a simple text replacement when running a script.
- For Postgres, Oracle and DB2 WbSchemaReport and WbSchemaDiff now write more details when dealing with TYPEs
- WbGrepData now also supports -compareType=isNull to search for null values
- Reworked the driver definition dialog to make defining drivers that need multiple jar files easier.
- The list of profiles in the connection dialog can now be filtered
- For Oracle and Postgres the displayed error now inlcude the actual error position and the part of the statement that corresponds to that position. If "highlight error" is enabled and the actual error line could be determined, only that line will now be highlighted
- Macros are now also supported in console mode
- In console mode, the history of commands is now saved across restarts
- A new command WbHistory is available to show the history of executed commands (primarily intended for console mode)
- For Postgres columns with custom types or arrays can now be edited correctly inside a result
- The Excel export now supports a new parameter -targetSheet. If that is specified an existing file is loaded and all data is written to the indicated worksheet overwriting any previous content
- A single result can now be detached into a separate window
- Displaying a tooltip for the corresponding insert value/column now also works for the INSERT part of a MERGE statement
- The SQL formatter now handles MERGE statements
- The status bar in the DbExplorer now shows the total number of objects if the content was filtered
- WbVarDef now supports assigning multiple variables when using a SQL statement to supply the variable values.
- ENABLEOUT and DISABLEOUT now support an optionaL parameter "quiet" to supress the feedback message.
- WbFeedback now supports an optional parameter "quiet" to surpress the message
- WbConfirm can now be called supplying the message, the text for the "yes" choice and the text for the "no" choice.
- A new command WbEcho is available to show a message
- The parameter -vardef can now be used multiple times on the commandline.
- Console specific commands (e.g. WbDisplay) can now also be executed in GUI or batch mode and will silently be ignored.
- Other occurances of the current selection can now be highlighted
- The editor can now automatically reload files that were externally modified.
- For Informix the additional qualifiers for DATETIME and INTERVAL data types are now displayed
- The quick filter in the DbExplorer now supports adding multiple values separated by a comma (if RegEx matching is not enabled)
- WbGenerateDelete now supports -excludeTables to not generate DELETE statements for those tables
- "Append results" can be set as the default now
- The behaviour when a file has been modified by a different application can now be configured
- It is now possible to display a drop down with the recently selected tables in the DbExplorer.
- WbGenerateScript now supports -includeDrop to generate a DROP statement before the object (similar to the source in the DbExplorer
Bug fixes
- Exporting the result of a Workbench command (e.g. WbList, WbListProcedures etc) using WbExport did not work properly.
- When adding a new SQL tab while a statement was running in a tab that had a file loaded, the "busy" icon was removed from that tab
- Fixed some problems with exporting to Excel spreadsheets regarding the use of cell styles
- For Informix (11.x) overloaded procedures and functions are now handled correctly in the DbExplorer
- For Oracle the initial state of a deferred foreign key constraint was displayed incorrectly
- Importing text files with multiline enabled did not work, if the file contained escaped quotes
- For Oracle, named not null constraints are now displayed correctly in the generated SQL source of a table.
- The keyboard shortcuts Ctrl-1 through Ctrl-9 could not be remapped to something different.
- Auto-completion did not work properly if tables where joined with the USING clause rather than the ON clause.
- In the DataPumper it was not possible to create the target table in a schema other than the default schema.
- WbGenerate delete could sometimes fail with the error "Comparison method violates its general contract"
- It was not possible to export multiple tables using wildcards for the -sourceTable parameter into a single Excel Workbook using -append=true
- When compiling invalid Oracle objects in the DbExplorer no error message was shown.
- The generated source code for temporary tables in Oracle was not correct.
- If the trigger panel was disabled, a DbExplorer tab could not be closed.
- The completion option "As is" for the case of the object names didn't work any longer
- For Postgres check constraints were retrieved incorrectly if the same table existed in different schemas
- When opening a connection that did not have a worskpace assigned the GUI would not initialize.
- When connection profiles where filtered and modified, the filtered profiles would be lost when saving the changes
- Oracle: columns defined as NOT NULL through a check constraint (rather than using NOT NULL) where not shown correctly in the table's source
- Prompting to reload a changed file in the editor didn't work properly.
- XLS or XLSX exports would fail when using -append=true together with -infoSheet=true
- Fixed some errors in the generated SQL statements in the DbExplorer for Sybase
- Importing data from the clipboard into the current result set did not work any longer.
- When using the DbExplorer to drop a Postgres custom aggregate function, the wrong DDL statement was generated.
- When importing all sheets from a spreadsheet file (OpenOffice Calc, Excel) missing tables would not be ignored.
- The SQL Formatter would swallow the character immediately following an IN condition with literals inside a JOIN condition
- For Informix sequences were no longer displayed.
- When calculating table dependencies (WbGenerateDelete or WbImport using -checkDependencies) some cyclic references where not always detected.
- The SQL formatter would incorrectly format "nvarchar" literals e.g. N'foobar' would be re-formatted to N 'foobar' (which leads to a syntax error)
- Exporting large results that contained LOB columns could lead to an out of memory error
- When using "Create DDL Script" in the DbExplorer, not all objects were included
- For Oracle the source code of tables with multiple nested tables was not shown correctly.
- When displaying a BLOB value as hex, the "ASCII" display of the values was only showing 15 bytes not all 16.
- When using the "Apply sort order as ORDER BY" option for the DbExplorer sometimes an invalid SQL statement was generated.
- When using "Save Data as" to save the data as an Excel file, creation of the auto-filter and optimizing of the column widths could not be enabled.
- Implemented a workaround for a bug in the MonetDB driver that caused wrong column information to be displayed.
Build 115 (2013-09-01)
Enhancements
- Implemented a workaround for an Oracle JDBC driver bug to correctly display comments for materialized views.
- For SQL Server the source for filtered indexes is now shown correctly.
- WbDataDiff now supports the -excludeIgnored parameter that will exclude the ignored columns from any UPDATE or INSERT statement.
- The connection profile can now be configured to always prompt for username and password.
- When selecting a FK value while editing the result set, foreign keys with multiple columns are now supported.
- The connection profile now allows to specify a custom icon for the main window now (thanks to Charles)
- Multiple tables can now be exported into a Excel file (using -sourceTable=* and -file=foobar.xlsx)
- When using WbImport with a spreadsheet (OpenOffice, Excel), all sheets can now be imported with a single statement
- For Postgres 9.3 the new event triggers are now shown in the "Triggers" tab of the DbExplorer.
- For Informix, the extent definition is now also shown in the generated table source.
- Added support for the new table definition features (identity columns, default on null) in Oracle 12c
- WbImport for XLS and XLSX now supports the "append" option to add a new worksheet to an existing workbook.
- A new command (WbGenerateDelete) to generate a delete statement with respect to foreign keys has been added. This the same as the "Generate delete script" menu item.
- Data can now be exported (saved, copied) as SQL DELETE statements as well.
- For Informix the lock mode of a table is now displayed in the table's source
- Implemented a workaround for a bug in the MonetDB driver in order to display stored procedures properly
- When editing or displaying long strings (that exceed the multi-line threshold) word wrapping can now be enabled
- When printing a result set the SQL shown above the result is now properly wrapped if too long for a single line. Displaying the SQL can also be disabled. If enabled, the SQL will only be shown on the first page
- Added support for PostgreSQL 9.3 MATERIALIZED VIEWs
- Column headings can now be displayed in bold face (Tools -> Options -> Data display)
- The editor now supports "Jump to line#"
- When showing the query on which a result is based through the context menu of the result tab, the metadata of the result set is now also displayed.
- WbInclude and WbSysExec now support conditional execution based on variables through -ifDefined, -ifNotDefined, -ifEquals, -ifNotEquals, -ifEmpty and -ifNotEmpty
- For SQL Server "included" columns are now displayed in the generated SQL code for a CREATE INDEX statement.
- A new option -trimCharData was added to WbExport and WbCopy which allows overwriting the setting in the connection profile.
- WbVarDef now supports an option -removeUndefined which replaces undefined variables in the assigned value with an empty string
- A new option "-removeDefaults" has been added to WbCopy to be used together with the createTable=true argument. If enabled, any column defaults from the source table are ignored.
- A new option to change the alignment of numbers in the result display has been added
- A new option has been added to use an ORDER BY reflecting the current sort order when reloading table data in the DbExplorer
- The new -ignoreIdentityColumns as well as the pre and post-table statements can now be specified in the DataPumper
- A new option for WbSchemaReport -objectTypeNames is available to select objects by type and name (possibly with wildcards)
- When editing a date or timestamp column, the value is now displayed in the same format that is defined in the options dialog for "Data formatting"
- A new parameter (-ignoreIdentityColumns) to ignore identity (and autoincrement columns) was added to WbImport
- A new menu item to close all empty result tabs has been added to the context menu of the result tabs
- For H2 and HSQLDB the generated source of a table now contains the MEMORY/CACHED option
- For SQL Server the generated source of primary keys and indexes now contains the clustered/nonclustered attribute
- WbCopy now supports using DROP .. CASCADE (if the DBMS supports is) by specifying -dropTarget=cascade (instead of -dropTarget=true)
Bug fixes
- When replacing text inside the selection, the selection wasn't properly adjusted to reflect the new length of the text after the replacement
- Compiliation errors for packages/procedures in Oracle where not shown if the procedure was prefixed with a schema name
- When a borken workspace was loaded, the main windows UI was corrupted
- WbSchemaDiff would fail without an error message if object types without attributes (e.g. in Oracle) were included.
- WbSchemaDiff would incorrectly compare indexes if the same table existed in different schemas
- Assigning a shortcut with Ctrl to the "File -> Disconnect" result in trying to "brute-force" a disconnect, rather than a clean disconnect
- Several bugfixes for the XLXS import
- uuid columns in Postgres were not handled correctly by WbDataDiff
- The XSLT to transform a WbSchemDiff or WbSchemaReport output for Postgres or Oracle did not create the DEFERRABLE option for foreign keys
- Importing multiple worksheets using -mode=update,insert did not work for the Excel import.
- -ignoreOwner was not working for WbImport when importing Excel Spreadsheets
- In the "type" dropdown in the DbExplorer's table list, entries with "VIEW" were not shown for some DBMS
- Fixed some problems when using quoted identifiers for code completion
- For Oracle, the source of index organized tables wasn't displayed correctly
- Selecting a foreign key value when editing a result set did not work properly.
- The connection info in the main window was not cleared after disconnecting the window
- The new word-wrap feature would silently fail in a select if a value from the database was an empty string
- Fixed a bug in the DbExplorer when using Informix
- When exporting XLS or XLSX, the width of columns was sometimes set to zero.
- When importing XLS or XLSX files, formula values could not be imported
- The definition of Oracle NUMBER columns was not displayed correctly
- The option -autoFilter=true was not working for XLS or XLSX exports
- For Informix synonyms and sequences from other schemas were not displayed correctly in the DbExplorer
- When configuring shortcuts, the alternate shortcuts for Cut, Copy, and Paste (using e.g. Shift-Insert) were no longer working
- When invoking code-completion for a specific schema, the schema name appended twice if the case written in the editor did not match the actual case as stored by the DBMS
- Configured SQL statements to retrieve view, trigger or procedure source would not work if they had sub-selects with a WHERE condition
- The columns of an index where no longer displayed in the index list of the DbExplorer
- The office libraries (for exporting Excel files) were not bundled correctly in the Mac package
- When invoking code completion for an already schema-qualified identifier, the schema would be pasted into the editor again
- Code completion for a specific schema did not work if quoted identifiers were used (e.g. "foobar".)
- When importing text files where columns at the end are missing, the value from the previous row was used for the missing column
- For Oracle, the DbExplorer did not display the table source of tables without a primary key
- For Oracle, the DbExplorer sometimes failed to load the table list with the error "Comparison method violates its general contract"
- When exporting to ODS, numeric columns with a NULL value would cause the export to fail
- For Oracle, displaying the source of a table with a disabled primary key generated an error
- For SQL Server, WbCall now displays the (scalar) return value of a stored procedures when using the jTDS driver
- For Oracle, the value for a TIMESTAMP WITH TIME ZONE column is now displayed correctly
- WbImport and WbCopy did not work with PostgreSQL XML columns.
- For Postgres additional indexes defined on the PK columns of a table where not included in the generated table source
- WbImport did not work properly with XML columns.
- The DbExplorer was not working properly with SQL Server 2000 (and older)
- Using -ignoreColumns together with -alternateKey and -excludeRealPK with WbDataDiff did not work
- Prompting for variables of prepared statements did not work any longer
- "Save Data As" was not working for results not obtained from the database (e.g. table list, table columns, indexes, ...)
- For SQL Server, when changing the datatype of a column in the DbExplorer, the generated DDL did not preserve NOT NULL constraints
- WbCopy refused to run if the current connection was set to read-only instead of checking the target connection.
- Not all changes in the DataPumper copy settings were reflected in the generated SQL script.
- The parameter -decimal was not working for WbExport
- When dropping an index from within the DbExplorer's index list, the wrong DROP statement was generated for SQL Server
- Implemented a workaround for non-JDBC compliant drivers for retrieving the columns of a table
- For WbSchemaReport no sequences were written when using the -tables parameter
- When using WbDataDiff without any schema or table parameters, nothing was compared in Oracle
- When using "Generate Schema Report" from the DbExplorer not all types were included in the output (e.g. Postgres domains)
- Using WbExport to export BLOBs (binary, varbinary) from SQL Server did not work any longer
- When using the -tables parameter for WbSchemaReport views would not be included in the output
- For SQL Server, table comments (defined through extended properties) were not included in the WbSchemaReport output
- Source for views and procedures was not shown for SQL Server for objects not in the "default" schema.
- The ObjectSearcher would not close the current connection when connecting a second time.
- The highlighting of matching values for the result of a WbGrepData was not working any longer
- In the connection profile's schema and catalog filter, the "only show these objects" options where not saved.
Build 114 (2013-01-21)
Enhancements
- It's now possible to (permanently) display the SQL that generated a result right above the result's data
- WbExport can now export JSON as well.
- The licenses for SQL Workbench/J has been changed to an Apache 2.0 license
- The output of WbGenerateDrop can now be controlled in more detail
- WbImport can now import Excel (XLS and XLSX) and Open Office Calc (ODS) files
- From within the DbExplorer's table list, the rows for the selected tables can now be counted.
- WbSchemaDiff can now handle additional DBMS specific objects such as TYPEs. The parameter -additionalTypes selects the types to be compared.
- When filtering for a single column in the filter dialog, a value from the underlying data can now be selected.
- The number of lines to scroll in the editor with the mouse wheel can now be configured.
- WbSchemaDiff and WbSchemaReport have new option -includeExtendedOptions to include extended table attributes (like tablespace or Oracle partitions)
- A new option "Append result" is available for macros.
- Values for FK columns can now be selected from the referenced table through a search dialog. This is available when editing a result set or for the column values of UPDATE and INSERT statements.
- The FK information used for the "join completion feature" is now held in the completion cache to make subsequent uses faster.
- WbInclude now supports wildcards for the -file argument (e.g. -file=/foo/bar/*.sql will run all scripts from the specified directory)
- Added support for NuoDB (http://www.nuodb.com/)
- The context menu of a SQL Tab now has options to copy the filename to the clipboard
- Improved the handling of relative filenames for WbSysExec
- If a (main) menu contains more items than can fit on the screen, the menu can now be scrolled
- When choosing a font, the size can now be entered manually to allow any size
- The source code displayed in the table list of the DbExplorer can now be reformatted.
- In the DbExplorer's table list, the schema and catalog can now be changed if the DBMS supports it
- The string literal for NULL values can now be defined when displaying data in a result set
- The string literal for NULL values can now also be defined when using "Save Data As"
- Code completion is now also supported for common table expressions
- WbExport and WbImport now support a parameter to define the string literal to be used for NULL values (e.g. -nullString='[NULL]')
Bug fixes
- For SQL Server unique indexes and constraints where not show correctly in the generated table source
- WbCopy did not find the target tables if the two DBMS were using different default casing for table names (foo vs. FOO)
- When creating tables on the fly using WbCopy, character columns with more than 8000 characters (e.g. varchar in PostgreSQL) are now automatically mapped to varchar(max).
- For SQL Server Auto-completion removed the schema from the table names even if the schema was required.
- When exporting to Excel or OpenOffice, using an extension that identifies a template would result in invalid files.
- In the connection profile's schema and catalog filter, the "only show these objects" options where not restored correctly when editing the filter.
- For PostgreSQL columns that are defined as arrays weren't shown correctly in the DbExplorer.
- When cancelling the confirmation to discard changes in an editor file while closing a tab by using the ESC key, the tab would still be closed.
- When exporting data into XML, the name of the exported table was not written to the XML file
- When using WbCopy with a single table the -preTableStatement and -postTableStatements weren't executed
- When searching in the result set, "Highlight All" did no longer work.
- Using -types=VIEW did not work for WbExport
- Showing the INSERT "hint" for values and columns was not working for INSERT statements with more than one row.
- For Oracle, errors resulting from e.g. a wrong CREATE PROCEDURE were no longer displayed automatically
- For Oracle the display in the DbExplorer of the index and other table specific panels was not always correct when switching between VIEWs and TABLEs
- WbDataDiff generated DELETE statement without a schema qualification for the tables even when necessary.
- When running in batch mode using the -command parameter, SQL Workbench statements (WbExport, WbXslt, ...) that would reference external files did not work.
- Grants for Views would be put into the view's source code in the output of WbSchemaReport rather than in their own tags.
- The source code for tables with nested tables was not generated properly for Oracle
- When defining a result set filter, it wasn't possible to switch the comparator from "Contains" directly to "Contains not"
- Editing values in result sets based on public synonyms (Oracle) was no longer working
- The SQL formatter did not format HAVING clauses with sub-selects properly
- Table comments were not shown completely for SQL Server.
- For MySQL if an index only included part of a column, the index definition was now shown correctly.
- The detection of columns for auto-completion in INSERT statements did not always work properly if the insert was based on a SELECT.
- The trees for the connection profiles and macros now display correctly with larger fonts
- For SQL Server the data types varchar(max), nvarchar(max) and varbinary(max) where not handled correctly.
- Sometimes concurrently running statements (in two different tabs) could influence each other
- The new NULL display string and a background color for NULL values could not be combined
- Code completion for SQL Server did not work without a schema.
- Exporting of the result data (e.g. copy to clipboard) did not deal properly with duplicate column names
- Derived tables in JOIN expressions where not formatted correctly (according to the sub-select rules).
- The "USE" command did not work any longer for SQL Server
- The DbExplorer's table list did not work for SQL Server 2012 using the Microsoft JDBC Driver 4.0 (and possibly previous versions as well)
Build 113 (2012-08-26)
Enhancements
- A new option for the SQL Formatter is available to insert column names in the VALUES part of an INSERT statement
- WbSchemaDiff now deals properly with Oracle packages
- The SELECT statement used by the data display in the DbExplorer can now be configured (e.g. to allow for additional options like "FOR READ ONLY")
- A new command WbSysOpen is available to open a file with the default application of the operating system.
- WbCopy now supports -sourceSchema and -targetSchema parameters to be able to copy to and from schemas that are not the "default" schema
- WbImport can now use PostgreSQL's COPY mode (this can be turned on using -usePgCopy)
- WbDataDiff now only shows a warning if a table without a primary key is found instead of aborting.
- The editor now supports "Delete current line" and "Duplicate current line"
- Added support for SQL Server 2012 sequences
- Added support to display synonyms for Informix
- A new option to copy data as "MERGE" statements has been added. This is also available for WbExport
- The SQL source for external tables is now shown correctly for Oracle
- For Cubrid, support for views, sequences and triggers has been added to the DbExplorer
- For Vertica, support for views, sequences and functions has been added to the DbExplorer
- For PostgreSQL, the generated table source now shows child tables (as a comment)
- If a connection profile is set to read-only, this is now shown with an icon in the connection info of the main window
- In the DbExplorer "Put SELECT into" can now also put the statement into the clipboard.
- A new option for WbDataDiff to write a single SQL script is available (-singleFile=true/false)
- Oracle nested tables are now displayed correctly in a result set
- A new command WbGenerateScript is available to generate the SQL scripts of tables and other objects (this is the same as the "Generate Script" option in the DbExplorer)
- Macros can now be defined to be expanded while typing their name. When such a macro is selected from the menu it is not run, but the text is inserted into the editor
- A new option for the connection profile has been added to prevent running UPDATE or DELETE statements without a WHERE clause.
- When using JOIN completion and the "previous" table in the join list does not have a FK relation to the current, a popup is now shown with all possible tables from the select statement.
- A new option to automatically insert closing brackets in the SQL Editor is available. It is enabled by adding the bracket pairs to be completed (e.g. ()[])
Bug fixes
- For WbDataDiff the option -alternateKeys did not work with columns that needed quoting.
- Selecting specific tables for WbSchemaReport (using -tables=...) did not work any longer
- "SET ROLE" or "SET CONSTRAINTS" could not be run for Oracle
- When using fixed width text files, ignoring columns by using -fileColumns and -importColumns together did not work
- Using WbImport with XML files and the -sourceDir argument did not work any longer
- -excludeTables (for WbDataDiff and WbSchemaDiff) was not working properly when the tables were specified using -referenceTables and -targetTables at the same time
- For MySQL tables from a database other than the current one weren't handled properly.
- When re-ordering columns in the DbExplorer's table (or procedure) list, displaying the details of the objects did not longer work
- When using alternate primary key columns for WbDataDiff the generated DELETE statements did not use the alternate PK
- Tables that contained a dot in there name ("FOO.BAR") were not handled properly
- For DB2 primary keys are not correctly displayed for tables that were created through DDS
- Retrieving synonym definition did not work in SQL Server if the synonym contained an underscore. This also prevented several commands from finding tables (or other objects) that contained an underscore
- Displaying object list in the DbExplorer did not work for Vertica if no schema was selected
- Displaying object list in the DbExplorer did not work for Informix if the schema name contained an underscore
- The SQL for the primary key in Informix was not created correctly
- Sequences for Informix where no longer displayed
- For Oracle, DB2 and PostgreSQL auto-completion for tables in a schema did not work if the schema wasn't typed in the correct (upper/lower)case of the databse.
- Using a JDBC driver that did not support savepoints as the source for the DataPumper or WbCopy copying failed
- For Oracle, deferred unique constraints where not generated correctly in the SQL source of a table.
- For SQL Server it was no longer possible to display databases with an underscore in their name in the DbExplorer
- For PostgreSQL the table source was not displayed if the table contained a unique index together with non-unique indexes
- Auto completion was not working with Postgres 8.3 (and before)
- Setting a result's name using @wbresult in the comment only worked in the first line comment
- When using scaled fonts in Windows, the editor and data font would be incorrectly re-scaled even if they weren't set to "Default"
- Comments used in the output files of WbDataDiff are now compatible with MySQL
- The option "Include Identity" columns now also checks for auto-increment columns (e.g. in MySQL)
- When selecting only some columns in the result and using "Copy selected" the wrong columns were copied
- Displaying the table source SQL for MySQL was broken
- Using "Make lowercase" or "Make uppercase" in the editor would lock up the application if a rectangular area was selected
- WbDataDiff now shows a proper warning if a table that should be compared could not be found
- Using capturing groups in the replacement text when doing search & replace in the editor did not work
- WbCopy's option -dropTable=true was no longer working
- When expanding macros the cursor would not be located at the correct position if the expanded text did not start at the first character of the line
- If MySQL was not running in ANSI mode, standard double quotes were used for quoting table or column names which needed quoting.
- EXECUTE wasn't supported for auto-completion of stored procedures (only EXEC)
- When running a stored procedure in Oracle message from dbms_output would not be shown if the procedure terminated with an error.
- On some (slow) computers the application would hang when trying to display the initial connection selection dialog
Build 112 (2012-03-25)
Enhancements
- PostgreSQL's "infinity" values for DATE and TIMESTAMP columns are now displayed and parsed correctly
- The busy and cancelling indicator for a SQL panel can now be selected in the options panel
- The editor now supports "Find previous"
- A new option to blend the selection color with the column highlight color is available
- A new option to copy all column names of a result is available (thanks Andreas)
- For Oracle the SQL for temporary tables is now generated correctly.
- The notification about a finished (long running) script can now optionally be done using the system tray.
- Enhanced the behaviour of the editor when when typing while a rectangular selection is active.
- Implemented a workaround for Firebird JDBC driver which does not return function based indexes (and thus they were not shown in the DbExplorer)
- Code completion now honors the setting of the "search_path" in PostgreSQL
- The schema and catalog filters in a connection profile can not be defined as "inclusion" filters that define the list of names to be displayed (rather than a list of names to be excluded)
- For Oracle and Postgres a check for uncommitted changes can be enabled in the connection profile (for Oracle this requires the SELECT privileges on V$TRANSACTION)
- For Oracle, the "autotrace" mode from SQL*Plus is now supported. It is enabled with "SET AUTOTRACE" the same as in SQL*Plus (and requires the PLUSTRACE role like SQL*Plus)
- A new option to generate a script to drop a table and all incoming (referencing) foreign keys is available in the DbExplorer. This functionality is also available through the WbGenerateDrop command
- If enabled, the formatting of internally generated SQL statements is now done by the SQL formatter (and thus uses the same settings as the formatter)
- The dependency tree in the DbExplorer can now be limited to the direct children only.
- A new option for WbDataDiff is available to define alternate key columns for each table. See the manual for details.
- "Help -> Show DBMS Manual" now displays the online manual corresponding to the version of the DBMS
- For Oracle a subset of the SQL*Plus SHOW command is now supported
- A new option is available to automatically save connection profiles if the connect dialog is closed with OK.
- Enhanced entering variables in the variable dialog. The ENTER key automatically advances to the next variable and closes the dialog after the last one.
- When using WbVarDef with -contentFile, variables in the source file are now replaced. This can be disabled using the parameter -replaceVars=false
- The save button to update the database can now be set to be always enabled by setting the property workbench.gui.savebutton.always.enabled=true in workbench.settings
- A new option has been added to highlight columns that have been changed.
- The contents for a variable can now be read from an external file (using WbVarDef -variable=foo -contentFile=bar.txt)
- A new option to enable a connection to Oracle using the role SYSDBA has been added to the connection profile. This removes the need to specify an extended property.
- The dependency tree in the DbExplorer can now be retrieved independently from the list of foreign keys. Additionally the automatic retrieval of the tree can now be disabled in the options dialog.
- A new command "WbSysExec" has been added to run external programs.
- For H2 the (SQL) source for linked tables is now correctly shown in the DbExplorer.
- A new option for WbImport is available to control the behaviour with empty files
- For Postgres the generated CREATE TABLE statements now includes storage and tablespace information
Bug fixes
- In the editor, regular expressions that anchored at the start or end of a line did not work.
- Fixed several problems for DB2 on iSeries
- Autocompletion for tables and columns was not working with MySQL
- Results of SELECT statements could no longer be updated for MySQL
- The DbExplorer did not work for PostgreSQL versions before 8.3
- On MacOS it was no longer possible to close the application using the "Command-Q" shortcut.
- In the DbExplorer changes to the data display colors were only applied when re-opening the DbExplorer
- For H2 unnamed check constraint where not shown in the generated SQL source
- Date and timestamp columns where not properly formatted when exported to OpenOffice
- If a column alias was used, the alias name was not used when exporting the result (WbExport or using Save Data As)
- "Delete word" would delete too much if the caret was located at a whitespace
- Fixed a problem with detecting tables for DB2 iSeries and the library search path.
- No columns were shown in the DbExplorer for Vertica when the table or view name contained an underscore.
- For DB2, the source code for views created using CREATE OR REPLACE was not shown correctly.
- Adding a new column in the DbExplorer was not working for DBMS that do not support renaming of columns.
- A CASE statement with a column alias not using the AS keyword word was not always formatted correctly.
- When specifying a non-existing table using -sourceTable for WbExport no proper error message was shown.
- Fixed a problem with displaying the menus if the editor tabs ran over more than one line
- Implemented a workaround for the Vertica JDBC driver to allow running DML statements.
- WbSchemaDiff did not work when the table names needed quoting because of special characters or mixed case names
- The ACTION part for foreign key definitions was displayed incorrectly in the generated SQL source and the "References Tab" of DbExplorer
- Running more than one DataPumper or WbCopy command in parallel did not work.
- Displaying the source code for functions did not always work properly in PostgreSQL
- Copy as SQL UPDATE did not work properly
- If more than one statement was selected, reformatting the SQL would remove the delimiter
- Implemented a workaround for a bug in old MySQL drivers that would cause an error when processing the result of a SELECT statement