ThinkUI Logo
Bending Time and Space for the Lazy Developer SQL Query and Code Generation Tool for Java™ Developers About Us | Download | Register | Links | Services | Contact Us

Release Notes for Version 1.1.3

This release adds numerous features and enhancements to help improve the productivity of Java developers. New features includes improved management and execution of SQL query objects, Copy As "String Expr" feature for saving SQL query in Java code, new code generation templates and related enhancements, as well as various GUI usability and performance improvements such as the loading of meta data. This release also adds support for setting the user preferences for the application LnF as well as various fonts sizes.

The list of known issues with this release are documented in the table below.

Features Added in Version 1.1.3 (June 23, 2009)

  • Improved refresh performance when deleting a large number of objects that causes a refresh to occur in the DataObjectTreeViewer. Now, the tree viewer will wait until the last record is deleted before simply refreshing the parent tree node.
  • Added support for setting the "Prompt On Exit" user preference.
  • Added support for COMMA_SEPARATOR and VALUES_SEPARATOR parameters to provide more control of the formatting of the generated SQL statements. This was done mainly to support generating SQL statements on a single line.
  • Added support for "Copy As" -> "String Expr" command. This command is intended to be used to save SQL queries for used in Java code to create DAOs. The command will copy the selected query or all text in the viewer if nothing is currently selected. Spaces will be automatically added to the end of a line if not preceded/followed by a separator character.
  • Added support for quickly creating Query object from the selected query in the SQL Query Viewer. Also, added "Save" menu item to popup menu. The selected text will be truncated to max. of 4000 characters.
  • Added support for displaying the current text length in the component tooltip.
  • Added support for updating the desktop frame title when the viewer tab selection changes.
  • Added support for customizing Look & Feel and the standard (5) application fonts.
  • Added support for showing table/column comments in generated JavaBean.
  • Added support for showing tooltip in combo box to display the selected value.
  • Added support for "Ctrl-N" to invoke the "New" command. Currently, this is used for initiating a "new" data object in the DataObjectViewer. Combined with the "Ctrl-S" accelerator to invoke the "Save" command, this improvement will allow for faster data entry.
  • Added support for "Copy Attribute - Value/Name/Description" in the DataObjectListViewer popup menu.
  • Added support for capturing attribute description (column remark). The remarks will be truncated to 255 chars (if needed) to prevent problem inserting to DB.
  • Added support for capturing attribute description (column remark).
  • Added support for saving Query objects from SQL Query Viewer using the "Save" icon or keyboard short cut (Ctrl-S). Previously, the query had to be saved via the DataObjectViewer. Also, the "File" label will be the ID of the Query record and the hint text will be the query name.
  • Added support for importing SQL queries (e.g. SELECT statements) from parsing files. Currently only searching for constants in Java code is supported The queries are saved to the Query table for a particular project and is limited to 1024 chars.
  • Display the count of related tables in title of result viewer for "List Related Tables..." command.
  • Improved display of busy indicator. The indicator is delayed until at least one (1) second has passed and the command still has not completed. In addition, the progress indicator will show an "Indeterminate" progress animation if the percent complete is not available.
  • Improved performance for loading data model attribute meta data by adding DATA_MODEL_ID column to DATA_ATTRIBUTE and DATA_RELATIONSHIP tables. This allows the data to be loaded with few queries.
  • Added support for generating DataObject copy code (similar to JavaBean Copy).
  • Added new "Classes" tree node under "Data Model" for listing all the data classes in a given data model. Support double-click as well as the "List Rows" command.

Bugs Fixed in Version 1.1.3 (June 23, 2009)

  • Fixed potential GUI deadlock on initial startup when a dialog is displayed to prompt the user to create a DB connection *before* the desktop frame is fully displayed. This issue only seem to appear on certain JVM using the thinkui_sqlclient.exe wrapper.
  • Fixed CREATE SQL table code generation template to handle the case where a table does not have a primary key. In this case, we should not generate a primary key constraint.
  • Fixed the generated file name for SQL CREATE TABLE/INSERT/UPDATE/SELECT query code generation commands in the case where multiple tables are selected as well as when generate Ant build XML file option is selected.
  • Prompt the user to restart the application (and force application to exit) in the case where an upgrade copied a user library jar file.
  • Fixed refresh of various pick list when filters, DB connection, models, and projects are inserted or deleted.
  • Removed "Cancel" button in the viewer for various "list" commands when the viewer is not stand-alone.
  • Fixed performance issue when deleting a large number of data objects (100s). The batch flag is set in the event to prevent unnecessary GUI refresh until final event.
  • Fixed bug with "New Data Model" in the case the command context of the selected tree node is overridden with a user database connection.

Features Added in Version 1.1.2 (May 6, 2009)

  • Added prompt for user to save all modified queries in the SQLQueryViewer. The name of the saved file or query is shown in the SQL query.
  • Added support for saving queries on a per table basis. The query will be saved in the "db" folder in a file named "<DB connection name> - <Table Name>.sql".
  • Added support for invoking the Refresh, Delete, Save commands via the keystrokes "F5", "<Delete>", and "<Ctrl> + S" respectively for all applicable external viewers.
  • Added support for closing tabs and windows with "<Ctrl> + W" and "<Alt> + F5" respectively.
  • Added support for "Refresh" menu item in the popup menu for the DataObjectViewer.
  • Added support for importing data from a file into a BLOB/CLOB column (for an existing record).
  • Added support for exporting data from a BLOB/CLOB column to a file.
  • Added support for popup menu in SQLQueryViewer.
  • Added support for performing INSERT for primary key column configured with sequence name.
  • Added support for editing/saving CLOB/BLOB/VARBINARY/LONGVARBINARY/LONGVARCHAR as either Text or Hex. Note: the value will be not editable if the value is not fully loaded (i.e. truncated).
  • Added support for customizing the table cell renderer for Blob attribute types.
  • Added support for openning file in text file viewer.
  • Added automatic prompt for creating a new DB Connection for first time installation.
  • Added logic to clear the license owner field is whenever the license key field is edited.
  • Added support for supplying the optional properties for a JDBC connection. This is needed to access optional "REMARKS" meta data for ORACLE database.
  • Added thinkui_sqlclient.exe wrapper executable for Windows platform.

Bugs Fixed in Version 1.1.2 (May 6, 2009)

  • Fixed SQLClientViewer to pickup the "max rows" preferences immediately after the preferences is updated.
  • Fixed bug with the "<Escape>" key in various dialogs to ensure that the action is interpreted as either No or Cancel (if appropriate).
  • Fixed "Refresh" command in SQLQueryViewer to be properly configured in the case where the query changes (but the columns returned do not).
  • Fixed "Data Class" selection being reported when no data object is selected.
  • Fixed cut/copy/paste menus throughout to ensure the actions are only enabled when appropriate.
  • Fixed SQLCreateTableTemplate.vm to generate "CREATE SEQUENCE" statement (if applicable for the database) before the "CREATE TABLE" statement.
  • Fixed bug with improperly configured toolbar in the TextFileViewer opened via the ViewSelectedFileCommand.
  • Fixed enable/disable actions when the license key is updated.
  • Fixed data type for Hibernate Java bean/XML mapping file generation for Binary/Blob/Clob data types.
  • Fixed the mark/highlight feature to handle the case where there are duplicate objects in the DataObjectListViewer (i.e. the SQL query does not include the primary key column).

Features Added in Version 1.1.1 (March 17, 2009)

  • Added support for table/column comments (remarks) as DataClass/Attribute "description". The "Generate SQL Create Table" command was updated to support the generation of the corresponding "COMMENT ON TABLE/COLUMN" statements.
  • Added support for displaying the current row/column in the TextFileViewer and SQLQueryViewer in the status area of the message bar. This information is useful for debugging purposes.
  • Added support for invoking the "Save" command using a keystroke ("<Ctrl> + S") in the TextFileViewer.
  • Added hint text to show the actual error message for fields with invalid values in the Data Object Viewer (currently such fields are rendered with a red background but no details of the error was provided).
  • Added hint text to show the detail of a date/datetime field in the Data Object Viewer.
  • Added hint text support for the various objects in the DataObjectTreeViewer.
  • Added feature where selected rows in the DataObjectListViewer and SQLQueryViewer can be "Marked" or "Unmarked". Marked rows are rendered with a distinctive highlight and provides a way to identifier objects accross multiple queries.
  • Added new "Resource -> List Columns" code generation command to help illustrate the new $codeGen.nvl() method as well as the new support for the column comments (via Attribute.getDescription()).
  • Added support for removing selected rows from the DataObjectListViewer and SQLQueryViewer. (note: the rows are simply removed from display, no rows will be deleted from the database table).
  • Updated installer to automatically copy any user jar files from the "lib" directory when performing an upgrade. In addition, the query history for the various connections will also be copied (*.sql files from the "db" directory).

Bugs Fixed in Version 1.1.1 (March 17, 2009)

  • Fixed bug related to the saving of the latest SQL query in the SQLQueryViewer. In the previous version, only the selected text in the viewer will be saved. In the case where nothing is selected or all is selected, the query text will correctly be saved.
  • Fixed bug with incorrect column labels in DataObjectListViewer when columns are reordered and a sort or refresh is performed.
  • Fixed bug related to the result message in the SQLQueryViewer which was not properly updated in some cases.
  • Fixed bug related to the setting and clearing of the "truncated results" colour indicator in SQLQueryViewer and DataObjectListViewer.
  • Fixed bug related to determining whether or not a viewer has already been opened when a double-click is performed on the tree viewer on command related tree nodes.
  • Fixed bug with ViewDataObjectEditorCommand to not store a reference to a JDBCDataObjectManager. Instead, make call to lookupDataObjectManager() as needed to handle the case where a database connection was closed and a reconnection is needed.
  • Fixed bug related to importing Query data from the "ThinkUI SQL Client" project.
  • Fixed bug in CodeGeneratorViewer to only allow one instance of a TextFileViewer to be opened to view/edit the corresponding template file.

Features Added in Version 1.1.0 (February 23, 2009)

  • Added support for closeable tabs (requires Java 1.6 or higher). The popup menu for tab supports the "Close Tab", "Close All Tabs", and "Close Other Tabs" actions.
  • Added support for table and column names that requires quotes (i.e. containing mixed cases and/or spaces). The generated queries will be quoted as needed based on whether the database meta data.
  • Added supported for saving and restoring the SQL query history. The most recent query in the SQL Query viewer will be saved in a file in the "db" folder as .sql.
  • Added support for "Copy As" function (upper/lowercase, Java class name, identifier, constant name, etc.) and "Change Case" function (upper/lowercase) actions in the popup menu of various viewers.
  • Added support for popup menu in code generation viewer and template file viewer.
  • Modified ViewDataObjectEditorCommand to only allow one data object viewer to be opened for a given data object (i.e. a JFrame or JDialog).
  • Added supported for HSQLDB and H2 databases. The customized data object manager classes are thinkui.db.hsqldb.HSQLDBJDBCDataObjectManager and thinkui.db.h2.H2JDBCDataObjectManager respectively.
  • Added the "createsql" command to generate the SQL CREATE statement for a given table name. The related FK constraints and sequence/trigger (if applicable) will also be created. The "describe" command will now simply generate the SQL CREATE statement with no FK constraints information.
  • Added FK_RELATIONSHIPS parameter support for GenerateSQLCreateTableCommand.
  • Renamed various library jar files to exclude specific version numbers.

Bugs Fixed in Version 1.1.0 (February 23, 2009)

  • Fixed the SQL Viewer to preserve the column sort order when the viewer is refreshed or when an SQL query is executed with the same columns in the result set.
  • Fixed the disabling of the "OK" and "Apply" buttons in Data Object Viewer when the "Apply" action was not successful.
  • Fixed hardcoded package name in import statements in Bean DAO and Bean SearchCriteriaData templates. Instead, the package name of the various classes will be based on the Bean DAO package name.

Features Added in Version 1.0.9 (January 7, 2009)

  • Added support for generating Ant build XML file for CREATE TABLE and INSERT SQL statements.
  • Added support for executing SQL via a keyboard shortcut "<Ctrl> + <Enter>" in the SQLQueryViewer.
  • Added support for undo/redo in text fields, text areas, SQL query viewers, and text file viewers.
  • Added support for generating Ant script for use with ThinkUI Data Generator. The script allows test data to be quickly generated for the selected database tables. The generator can automatically include dependent tables in the correct order (based on a topological sort of the dependency tree).
  • Added support for loading the cache model meta data - LATEST (as specified by the "Load Meta Data" user preference). This feature is useful when the database meta data is slow to load due to network connection and/or JDBC driver (ORACLE).
  • Added support for copying selected value in popup menu for data object list viewer.
  • Added support for popup menu in data object viewer (useful for data generation purposes).
  • Added support for Line Wrap option in text file viewer.
  • Added audit trail columns to FILTER table.
  • Added popup menu support in data object viewer.
  • Added popup menu support in text file viewer and add cut/copy/paste as well as line wrap option in the text file viewer.
  • Added support for rendering truncated data (in the SQLQueryViewer and List Rows Command) in distinctive colours (pink stripes).
  • Added support for showing "(null)" in tool tip for null values in text components to distinguish from empty strings.
  • Added support for copying the selected column value from the data object list viewer popup menu.
  • Modified logic to translate char(1) column with names ending with "_IND" to be Y/N character types.
  • Added support for "shutdown" of Cloudscape/Derby embedded databases. This feature is useful since the Cloudscape/Derby database cannot be access by more than one process when running in embedded mode.

Bugs Fixed in Version 1.0.9 (January 7, 2009)

  • Fixed DataClass caching bug - should be cached for the same DB connection.
  • Fixed meta data manager for determining a PARENT/CHILD relationship between tables. Now, only a cascade relationship between two tables will result in a PARENT/CHILD relationship. All other cross reference import rules will default to a generic RELATES relationship.
  • Fixed insert() for PostgreSQLJDBCDataObjectManager to auto generate sequence name based on the primary attribute column name (if specified). Otherwise, use the attribute name.
  • Fixed loading of sequence name from saved meta data.
  • Fixed missing caption attribute names in generated code from SQL query meta data.
  • Fixed bug in table/column name in generated SELECT SQL in the case the table/column name in the saved meta data is an empty string.
  • Fixed logic to not add a string length constraints for PostgreSQL "text" column type.

Features Added in Version 1.0.8 (August 8, 2009)

  • 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 Data Object Viewer.
  • 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 encounter ClassNotFoundException when trying to access any database JDBC drivers copied from a prior installation during a software upgrade. ALL
Work Around: Simply exit the application and restart to ensure the required Jar files are in the CLASSPATH. This is a known issue and will be addressed in a future release.
Issue: The SQL Client will block on DDL queries (e.g. DROP TABLE) if there any open transactions. Alternatively, on some databases (e.g. Cloudscape/Derby), some DDL 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 DDL queries (if required for you database).
3. Ensure you perform any commit/rollback on the connection before issuing a DDL 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 higher) 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 (or higher) and edit the shell script 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: June 23, 2009