DBCopy Change Log
- Performance increase due to a reduction in the number of data-type queries on the source
and destination databases (Thanks to Dan Dragut)
- Fixed table analysis progress monitor dialog so that it goes away when the copy operation
- Examined data types for the other dialects (Firebird, HyperSonic, Pointbase, etc.)
currently supported and explicitly set them for the appropriate java type. Tested each type
against the corresponding database for usage and compatibility.
- Added custom type mappings for McKoi,
- Fixed bug which caused multiple dialogs to appear when cancelling a copy operation.
- Fixed bug that would create a temporary file to store the blob in if the blob column
value is null.
- Fixed bug 1344224 (When auto-commit is disabled, committing the source session)
- Added table analysis of source tables prior to attempting to create the tables in the
destination database. Analysis consists of creating a test table with one column
in it for each column of the table. This can be turned off, but it gives a better description
of what happened in the event that a column name isn't allowed in the destination database.
Additionally, this will be done for all tables in the copy set before making any changes in the
destination database. If the source and destination databases are the same, this analysis is
- Updated for SQuirreL plugin interface changes to be compatible with latest SQuirreL (> 2.0 final)
This version of the plugin is still compatible with previous versions of SQuirreL (2.0RC1, 2.0Final)
as the interface change added new members and did not change any existing members.
- Examined data types for the major dialects currently supported and explicitly set them for the
appropriate java type. Tested each type against the corresponding database for usage and
compatibility. This should hopefully make the default data type mappings used sufficiently
robust for compatibility between databases.(See
http://dbcopyplugin.sourceforge.net/dbcopydatatypemapping.html for more detail regarding how
the plugin maps data types between different databases)
- Fixed a bug that resulted in the following error message - "Copy failed: 0". Behind the scenes
an ArrayIndexOutOfBoundsException was encountered when getting information about the newly created
table in the destination schema, if the case of the table name didn't match.
- Added configuration item for column name keyword checking in destination database.
This feature uses the "keywords" reported by the JDBC driver to find column names
in the source table copy set that cannot be used as column names in the destination
database. However, this is too aggressive in some cases as some databases (like DB2)
report keywords that can also be used as column names. So, now this checking can be
disabled. The configuration is available in
"File" -> "Global Preferences" -> "DBCopy" -> "Column Type Mapping"
- Added custom column type mappings for IBM DB2. (Tested against DB2 PE for Windows)
- Added new configuration option to disable auto-detection of destination
database.(This causes the Hibernate dialect chooser to always appear when
copying to a new database session. Dialect choices are cached for existing
sessions). The configuration is available in
"File" -> "Global Preferences" -> "DBCopy" -> "Column Type Mapping"
- Fixed bug which would cause destination copy sessions to linger in memory even
after being closed.
- Changed Oracle type mapping for LONGVARCHAR to use CLOB instead of LONG since
LONG is deprecated and multiple LONG columns for a single table aren't supported
whereas multiple CLOB columns for a single table are.
- Massive refactoring to provide a framework for external application integration.
(For the most part, this facilitates writing a driver that automates regression
testing, but might be useful for other 3rd-party integrations)
- Added support for turning off auto-commit and committing
after a configurable number of records.
- Added support for turning on/off the copy of foreign keys,
table records and index defintions.
- Added ability to detect and ignore duplicate index defintions.
- Fixed bug which resulted from using the wrong string function to query
max length for a column - this is database-dependent and the code was
assuming that all databases have a "length" function.
- Added support for caching BLOBs to disk during transfer to prevent
the client from running out of memory on large BLOBs. Transfer buffer
size is configurable.
- Added DB Copy tab to Global Preferences section of SQuirreL to configure
preferences for the DB Copy Plugin.
- Truncate can now be used for databases that support it, instead of "delete".
This can be turned on/off for all databases in the preferences. If enabled
it will be attempted, and if not supported, delete will be used instead.
- When truncating/deleting records for tables that exist in the destination
database, the dialog that prompts for record deletion now has a "Yes to all"
button to apply record deletion to all destination tables.
- Added support for choosing additional Hibernate dialects if destination
database vendor couldn't be determined. (DB2,
Ingres, Interbase, McKoi and TimesTen)
- Added support for copying index definitions along with the tables
that are being copied.
- Altered destination table truncation to use "delete from" instead of
the less standard "truncate table". Will add support for this back
in on some databases in the next release.
- Added check for if column is a keyword when copying data from one
table to another (In the case where the data is copied without creating
- If an SQLException is encountered during record copy, show it's message
to the user (instead of simply printing the stack trace).
- Fixed source files eol chars.
0.12 (7/13/2005) First Beta Release
- Added support for internationalizing the the user dialog messages.
- Bug fixes (moved GUI work onto event dispatch thread)
- Added support for checking if source database column names are in fact
keywords in the destination database.
- When records exist in the destination table, the delete dialog now indicates
the name of the table when asking the user if it should truncate the table.
- Added custom type mappings for MS SQLServer
- Added ability to auto-determine when destination database is MS SQLServer.
- Tested this version's MS SQLServer dialect against MS SQLServer 2005(CTP)
- Added copying table constraints (Primary Key and Foreign Key).
- Added dialog to allow user to select a hibernate dialect for the destination
database, if one couldn't be determined automatically.
- Asks user to truncate records in destination table, if records already exist.
- Fixed packaging to place hibernate and commons-logging jars in subdirectory
space of dbcopy plugin.
- Supported Hibernate dialects are now:
Firebird, Oracle, Sybase, MS SQLServer,
MySQL, HyperSonic, Pointbase, PostgreSQL.
- Bug fixes. Actually tested this release a bit.
- Initial release.