SQL Workbench/J Change Log
This document only shows the release history for the last 10 releases.
The full release history is available at the SQL Workbench/J homepage
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
Build 111 (2011-09-18)
Enhancements
- A new commandline argument is available (-connectionName) to define the connection name to be displayed in the window title if the application is started without a profile (but with a full connection definition)
- The internal cache used for auto-completion is now updated when tables or table definitions are retrieved in the DbExplorer.
- Displaying the SQL of a view for SolidDB is now supported (contributed by Jason).
- Retrieving the dependency tree for foreign keys in the DbExplorer is now cancelled when switching to a different tab.
- External tools now have a seperate property for commandline arguments
- The filter in the DbExplorer's table list can now be set to "Filter as you type"
- Foreign keys referencing unique constraints are now displayed for Oracle (this is a workaround for a bug in the Oracle JDBC Driver)
- WbImport now accepts multi-character delimiters (e.g. \t\t)
- The suffix for escaping variables can now be defined as "empty", so that e.g. &val can be used as variable name
- For PostgreSQL 9.1 and Oracle, the trigger panel in the DbExplorer is now also shown for Views
- For MySQL and SQL Server column level collation and character set definitions are now shown
- Support for new features in PostgreSQL 9.1 has been added. The SQL source in the DbExplorer will now show FOREIGN and UNLOGGED tables correctly as well as column level collations
- In the DbExplorer's table list, a new option has been added to generate an "empty" UPDATE statement (in addition to the INSERT and SELECT statements)
- When using -mode=insert,update for WbCopy or WbImport only real primary key violations are now ignored (previously all errors during insert were ignored)
- The list of triggers in the DbExplorer now contains an additional column to show the status of the trigger for Oracle and Postgres
- The order of the columns in the DbExplorer's table list is now saved in the workspace
- WbDeleteProfile and WbSaveProfile are now also supported in batch mode.
- WbSaveProfile now supports a parameter whether the password should be stored or not (in that case the new -name parameter must be used to specify the profile's name)
- For simple INSERT statements a tooltip can now be show (Ctrl-#) that displays the corresponding column name or column value.
- The matching bracket highlighting can now be configured
- When converting boolean values to numeric values during WbImport, the numeric values to be used can now be specified using the new parameters -numericFalse and -numericTrue
- For Oracle, WbSchemaReport and WbSchemaDiff now includes the information about partitioned tables and indexes
- The generated table source in the DbExplorer now includes the new exclusion constraints from PostgreSQL 9.0
Bug fixes
- For Oracle unique constraints that were backed by a non-unique index were not displayed.
- The DataPumper did not commit the SQL statements when batch mode was used together with the "commit every" option.
- The dependency display in the DbExplorer did not work with unique constraints in Oracle
- The source for XMLTYPE columns was generated incorrectly for Oracle
- The correct source code for unique constraints is now shown in the DbExplorer for Oracle, PostgreSQL, DB2 and SQL Server 2005+
- Table names with non-standard upper/lowercase usage where not quoted in the code completion.
- Code completion used the wrong value to insert into the editor when the current word limited the list to a specific schema.
- Empty strings where not treated as NULL values for boolean or bit columns when importing text files using WbImport
- When compiling several procedures from within the DbExplorer's procedure list, Oracle packages are now only compiled once (contributed by Andreas)
- WbCall did not handle overloaded package procedures in Oracle
- The SQL Formatter did not properly format function calls that do not have parameters in e.g the VALUES list
- Copy Selected was not respecting re-ordered columns in the result set
- WbStoreProfile did not correctly register the used driver in WbDrivers.xml
- WbDataDiff did not always write correct XML files for update statements
- For MySQL retrieving the table definition of tables in a database where the database name contained underscores did not work
- When selecting * in the schema dropdown of the DbExplorer no triggers where displayed in the trigger panel
- WbSchemaDiff did not compare indexes and check constraints correctly
- Code completion was not always working properly if the table name ended with an underscore
- WbSchemaDiff did not process materialized views correctly.
- When choosing not to save a modified file when closing the application, the file was saved nevertheless.
- When recompiling an Oracle function or procedure using ALTER ... COMPILE, compilation warnings where not shown.
- Fixed a bug where that caused the code completion to be extremely slow.
- In the DbExplorer the columns for tables that had "similar" names (according to a LIKE expression with underscores) were not displayed correctly.
- Fixed a problem with schema display in the auto-completion for SQL Server
- Fixed a problem with schema detection in the DbExplorer when the JDBC driver did not support all metadata calls (e.g. DB2 for host systems)
- In Oracle, compilation errors for a TYPE BODY were not displayed
- In Oracle, the source for a primary key index that had a different name than the primary key was not shown in the DbExplorer
- Retrieving of column comments for queries did not work when the table had an alias