ThinkUI Logo
Bending Time and Space for the Lazy Developer. ThinkUI SQL Client About Us | Download | Register | Links | Services | Contact Us

Release Notes for Version 1.0.8

This release adds support for "batch" code generation via Apache Ant. Please refer to the sample_build.xml file in the "batch" folder for further details. All code generation commands are accessible via the thinkui.sqlclient.ant.GenerateTask (found in the thinkui_sqlclient_ant.jar file). In addition, the new thinkui.sqlclient.ant.GenerateCodeGenBuildXMLCommand can be used to generate an appropriate build.xml file for a given target code generation command that will be invoked for all tables matching a given pattern.

This release also includes various other enhancements as well a few bug fixes.
The list of known issues with this release are documented in the table below.

Features Added in Version 1.0.8 (August 8, 2008)

  • Added support for SQLClient "batch" mode to support custom code generation via Ant (class thinkui.sqlclient.ant.GenerateTask in batch/thinkui_sqlclient_ant.jar)
  • Added support for generating Ant build.xml file for all tables matching a given pattern (class thinkui.sqlclient.ant.GenerateCodeGenBuildXMLCommand in batch/thinkui_sqlclient_ant.jar)
  • Added support for filtering DB_CONNECTION records in various viewers.
  • Added "New" button for creating a new Query in "List Queries" viewer.
  • Improved error handling by displaying any error encountered when executing a command in a popup dialog (as well as displaying it in the message bar).

Bugs Fixed in Version 1.0.8 (August 8, 2008)

  • Fixed stack overflow bug with DB connection pick list in the Generate Code viewer.
  • Disabled "Apply" button when a given data object does not have a primary key.
  • Display an error message when "OK" or "Apply" is pressed and no data is provided for a new data object.

Features Added in Version 1.0.7 (June 17, 2008)

  • Added count row command for tables/views as well as related data objects in DataObjectViewer.
  • Added support for initializing new data objects with database column defaults as well as default values customized on a per connection basis (via properties file).
  • Enhanced ViewDataObjectEditorCommand to set default values and show overridden column names.

Bugs Fixed in Version 1.0.7 (June 17, 2008)

  • Fixed NullPointerException for JDBC drivers that do not support SCHEMA. e.g. the MySQL driver uses CATALOG instead of SCHEMA to specify the database.
  • Fixed Zoom/Create new record feature for relationship with FK consisting of multiple columns.
  • Fixed bug to support "now()" and other pseudo column values specified as column default.

Features Added in Version 1.0.6 (May 21, 2008)

  • Added support for generating Hibernate Mapping XML files and corresponding domain Java Bean class.
  • Added support for displaying REF CURSOR out parameter for ORACLE stored procedure.
  • Added prompt for delete and import commands. Improved description of the currently selected objects.
  • Added support for StringRegexConstraints (REGEX).
  • Added support for Caption for DbConnection.
  • Added support for viewing Logger output from within the application with timing information.
  • Added support for customizing attribute name, caption, and description for database table columns on a per connection basis.
  • Added support for importing DB connections and related data (filters, queries) from the previous version.
  • Enhanced Java Bean template to support customizing equals(), hashCode(), and toString() methods.
  • Enhanced GenerateAttrNamePropertiesCommand to support various options as well as support for selected data objects
  • Improved usability of the filter feature with support for filtering stored procedures.

Bugs Fixed in Version 1.0.6 (May 21, 2008)

  • Fixed bug related to display of empty CLOB and removed string length constraints for CLOB.
  • Fixed bug for deleting Filter records from "tables" menu item.
  • Modified ListRowCommand and ListColumnCommand to honour "Load Related Data" preference.
  • Ensured that DB Connection name are valid identifiers (i.e. Regular Expression of [a-zA-Z]\\w{0,29})
  • Removed duplicate items on main menu and added popup menu items to main menu.
  • Ensured cached meta data is not inherited in command context of overridding DB connection.

Features Added in Version 1.0.5 (March 25, 2008)

  • Added support for filtering SCHEMA and TABLE records in various viewers.
  • Added support for generating Java Bean code for executing Stored Procedures.
  • Added support for URL attribute types.
  • Added preference for displaying data class relationships in Data Object Viewer.
  • Added "Models" node under each "Connection" tree node.
  • Added splash window at application startup.

Bugs Fixed in Version 1.0.5 (March 25, 2008)

  • Added support for generating framework classes required by generated "bean" classes.

Features Added in Version 1.0.4 (December 20, 2007)

  • Improved "New DB Connection" by defaulting values based on the selected database.
  • Added support for listing all Query objects related to a DbConnection.
  • Simplied sort feature of data object list to use single-click to sort a column instead of double-click (with multiple sort orders).
  • Improved visibility of busy cursor panel by adding a yellow banner at the top.
  • Added support for Data Entry, User, and Developer modes via following properties: thinkui.userMode, thinkui.dataEntryMode, thinkui.codeGenMode
  • Added support for disabling use of Java preference (e.g. Windows registry) via "thinkui.useRegistry" property.
  • Modified thinkui_sqlclient.bat to disable the MS-DOS window. Provide a "debug" version for testing.
  • Enhanced "List Related Tables" to sort by table dependencies (using a topological sort on the dependency graph).

Bugs Fixed in Version 1.0.4 (December 20, 2007)

  • Fixed bug related to PostgreSQL "interval" type (previously unsupported). Modified the program to gracefully handle a case where a data type is not recognized by defaulting attempting to treat it as a String.
  • Suppressed the creation of derby.log and velocity.log files.
  • Fixed formatting error in saving of tab-delimited row data of selected data objects in the viewer.

Features Added in Version 1.0.3 (October 31, 2007)

  • Improved the performance of slow commands so that they run in the background.
  • Added support for generating code in the case where an SQL SELECT query does not return any records.
  • Added special logic for handling DATE type with ORACLE. If a column ends with "DATE", use map the column to AttributeType.DATE. Otherwise, map the column type to AttributeType.DATETIME.
  • Added support for clearing an data class attribute constraints.
  • Added "Disconnect" menu item to table row popup menu.
  • Added display of installed directory and application DB directory. Enhanced preference viewer to allow the user to customize the template and code generation directories.
  • Improved formatting of decimal values in data object list viewer to be locale specific.

Bugs Fixed in Version 1.0.3 (October 31, 2007)

  • Fixed the generated field name for table column name that contains digits.
  • Fixed NullPointerException in Java bean DAO code generation when an SQL query is used and the data class meta data has a null schema.
  • Fixed exception that occurs if paste from clipboard is perform with text currently selected.
  • Fixed the automatic reconnection feature when a database connection timeout occurs. Also, perform database rollback/closing in a separate thread so the application does not "hang" waiting for a stale database connection to timeout.
  • Fixed logic for selecting attributes for generating UPDATE sql queries and Java Bean DAOs.
  • Fixed refresh of data object list viewer when a data object is to maintain the current selection and current scroll position.
  • Fixed busy cursor indicator for children data object list viewers.

Features Added in Version 1.0.2 (August 28, 2007)

  • Support for customizing the template file directly from the Code Generator viewer.
  • Support for specifying default values for various code generation parameters via the Preferences viewer.
  • Support for listing table cross references (relationships) in the Data Object List viewer.
  • Support for accessing the related table via the relationship record.
  • Support for loading data file (CSV, Excel, Delimited) into database table.
  • Support for displaying the application version from the command line with the VERSION option.

Bugs Fixed in Version 1.0.2 (August 28, 2007)

  • Fixed display of generated code due to Swing related bug.
  • Fixed rendering of enumerations in data object list viewers.
  • Fixed clipboard paste command to be enabled as appropriate.
  • Fixed UNINSTALL feature to remove all preferences entries under the "sqlclient" as well as the "thinkui" preferences tree node if no other "thinkui" application has been installed.

Features Added in Version 1.0.1 (July 24, 2007)

  • Improved rendering of column icon in the tree viewer to indicate whether or not the column is a primary key (PK) or foreign key (FK) column. Added decimal digits (if any) to column size - separated by a comma.
  • Added support for configuring the connection/query timeout (in seconds).
  • Added support for enabling/disabling the filter of system schema in the schema tree.
  • Added support for viewing CLOB. No support for INSERT or UPDATE yet.
  • Added "Commit" and "Rollback" buttons to the execute stored procedure viewer (if auto commit is disabled).
  • Added a description label (e.g. SQL query or summary information) to various viewers.
  • Added support for uninstall (i.e. removing Java preference entries).

Bugs Fixed in Version 1.0.1 (July 24, 2007)

  • Fixed bug related to reordering the table column.
  • Fixed automatic refresh of data model, db connection, and project tree viewers.
  • Fixed bug related to PostgreSQL TEXT column type which reports a column size of 2147483647.
  • Fixed Commit/Rollback button in SQL Query viewer to only be enabled when applicable.

Features Added in Version 1.0.0 (June 15, 2007)

  • Improved support for large data set by deferring loading of related data for a row in the data object viewer (configurable preference).
  • Added support for saving SQL queries for later execution.
  • Added support for generate Java Bean DAO using PreparedStatement.
  • Added support for generating XML files from selected data objects.
  • Added support for custom code generation commands.
  • Added support for specifying the character encoding of the generated code.
  • Added commit and rollback commands to the menu bar.
  • Added support for browsing and displaying project related files.
  • Added support for listing connections, models, and projects in a tabular view
  • Added support for "install" and "check" command line options.

Bugs Fixed in Version 1.0.0 (June 15, 2007)

  • Ensure that the max # rows feature is also applied to the SQL Query viewer.
  • Fixed code generation to use the current selection when invoked from the main menu.
  • Fixed data type mapping for DECIMAL/NUMERIC type has decimalDigits < 0 (e.g. Oracle FLOAT type).
  • Fixed popup menu outside of query results table in the SQL viewer.
  • Fixed parsing of SQL query for the table name (problem when contains "GROUP BY" or "ORDER BY" clause).
  • Fixed display of selected object in the message bar.
  • Fixed refresh of appropriate viewers when objects are inserted/updated/deleted.
  • Added scrollbar as required for text area in data object viewer.
  • Fixed sort order for listing stored procedures (group by packages).
  • Fixed bug related to updating license information and modal dialogs.

Features Added in Version 0.9.9 (Feb 15, 2007)

  • Added support for listing the tables, views, sequences, indices, constraints, triggers, and procedures for a particular database schema in a tabular view.
  • Added command "countsql" to generate a select count(*) query in the SQL Query viewer.

Bugs Fixed in Version 0.9.9 (Feb 15, 2007)

  • Fixed various minor GUI related bugs.
  • Fixed various modal dialog related bugs.
  • Fixed read only database connection related problems.
  • Handle case where user does not have access to ORACLE dba_indexes and dba_ind_columns tables.
  • Automatically strip any semi-colons (';') from SQL queries - not allowed by some databases.

Features Added in Version 0.9.8 (Feb 4, 2007)

  • Added command to list all "tables"/"views" in the SQL Query viewer.
  • Added command to display the database "version" in the SQL Query viewer.
  • Added confirmation prompt before deleting data objects.
  • Added maxRows and show instructions for SQL Query viewer to the user preferences.

Bugs Fixed in Version 0.9.8 (Feb 4, 2007)

  • Automatically convert table/view names to upper/lower case as needed for code generation and SQL queries.
  • Fixed command generation templates for various command types.
  • Fixed tree viewer refresh problems after DB connection information is entered.
  • Fixed use of pack() for data object viewer (do not call for tabbed pane viewer).
  • Maintain sort columns when refreshing a Rows data object list viewer.

Features Added in Version 0.9.7 (Jan 24, 2007)

  • Added various resource related code generation templates.
  • Added various command related code generation templates.
  • Added select (pick list) JSP file code generation template.
  • Added date picker support for date and timestamp fields.

Features Added in Version 0.9.6 (Jan 2, 2007)

  • Added various web related code generation templates.
  • Added support for multiple selection for selected templates.

Features Added in Version 0.9.5 (Dec 4, 2006)

  • Added support for SQL Server 2005.
  • Added support for any database that provides a JDBC 3.0 driver.
  • Added user interface for editing template files. Previously, the files can only be edited using an external text editor.
  • Added feature to find all related tables for the selected tables recursively.

Features Added in Version 0.9.4 (Nov 22, 2006)

  • Added user interface to display the Java system properties.
    The information provided can be useful for submitting bug reports and performing diagnostics.
  • Added user interface to enable/disable various levels of logging. This feature will help trace problems at runtime.
  • Added user interface to enter the license information. Previously, the license must be manually entered in the thinkui.properties file.
  • Added "Data Object Viewer" code generator.
  • Provided a list of template variables available in each template file.
  • Provided help for downloading various supported JDBC drivers.

Known Issues:

The following are some of the known issues with this release:

Description of the Issue and Possible Work Arounds Platform(s)
Issue: The SQL Client will block on DML queries (e.g. DROP TABLE) if there any open transactions. Alternatively, on some databases (e.g. Cloudscape/Derby), some DML queries will actually require an explict commit. No doing so, can cause the main tree viewer to block. ALL
Work Around: 1. Work with the "Auto Commit Flag" configured to true for the DB Connection.
2. Ensure you commit/rollback and DML queries (if required for you database).
3. Ensure you perform any commit/rollback on the connection before issuing a DML query.
4. Ensure you have configured a reasonable connection "Query Timeout" in the user preferences.
Issue: The SQL Client will attempt to rebuild the sqlClientDB if the installedVersion property is missing. This will cause the following problem if the sqlClientDB already exists. e.g. "ERROR X0Y32: Table/View 'DB_VERSION' already exists in Schema 'THINKUI'." ALL
Work Around: Ensure that the "thinkui.properties" file specifies the correct value for the "thinkui.sqlclient.SQLClient.installedVersion" property. This property is used when the SQL Client has not been installed. Otherwise, the corresponding Java preference (e.g. registry) is used.
Issue: The SQL Client cannot execute stored procedures with overloaded names. Duplicate parameter information is returned by the JDBC driver. Also, parameters with user defined types are not supported. ALL
Work Around: Execute the stored procedure directly using the appropriate SQL query. The exact syntax will be dependent on your database. (e.g. with Oracle SQL/Plus the syntax is: execute <procedureName>[(<arg1>, <arg2>, ...]);
Issue: The SQL Client does not operate properly when memory is low. An out of memory error message is not always displayed. ALL
Work Around: The recommended work around is increase the amount of memory available to the JVM. This can be done by editing the _THINKUI_OPTS=-mx128m option in the script files.
Issue: The SQL Client does not handle the case where a DB connection is closed by the DB Server (e.g. timeout due to inactivity). ALL
Work Around: The recommended work around is refresh the DB Connection tree or restart the SQL Client.
Issue: The copy and paste feature may cause an extra <CR> character to be added in some cases. This is know to be true for JRE 1.4 on Windows which causes a <CR><CR><LF> combination instead of the expected <CR><LF>. Windows, JRE 1.4.x
Work Around: The recommended work around is to use JRE 1.5 or save the file directly to disk instead of using the clipboard.
Issue: The default JRE (GNU) provided by the platform is not compatible with the SQL Client. UBUNTU
Work Around: The recommended work around is to install JRE 1.5 and edit the script file to set the JAVA_HOME environment variable.
Issue: When records are inserted, updated, or deleted, corresponding views are not always updated. ALL
Work Around: The recommended work around is to refresh the affected viewer.
Issue: For some database (e.g. PostgreSQL), if an exception is encountered, the DB connection must be rolled back before any queries can be issued. This can occur in the SQL query viewer and causes problem in the Tree Viewer. PostgreSQL
Work Around: The recommended work around is issue a rollback command or refresh the affected viewer.

If you have encountered a problem or issue that is not listed above, please let us know.


File: release_notes.bhtml Last Modified: August 9, 2008