Вы находитесь на странице: 1из 49

SQuirreL SQL Client Change Log ============================== 3.2.

1 (12/29/2010) ================== Enhancements: Feature request 3030479: New global preference that allows scrollable tabbed pan e for Session tabs. Feature request 1608435: (checkbox in I18N administration: "show only bundles wi th missing translations"). Thanks to Ivo Neri for the patch. New icons in Object tree Updated translation for Italian (Thanks to Ivo Neri) New translation Japanese (Thanks to Toshiki IGA) Graph Plugin: Multiple tables can now be selected and moved simultanously Thanks to Markus Schulz for the patch. New Session property to let SQuirreL set fetch size (call Statement.setFetchSize (int)). See Session properties --> SQL tab. Thanks to Stefan (wis775) for the patch. Bug-fixes: 3138746: 3137390: 3136386: 3123014: Typo within PluginClassName of SyntaxPlugin. Cannot connect after latest software update. Deleting table content via context menu does not work. StackOverflow ProgressCallBackDialog. Thanks to Stefan (wis775) for the patch. 3055859: Regular expressions did not work in find & replace dialog. Thanks to Stefan (wis775) for the patch. Fixed translation label that was not being applied to "Initialize Session Timezo ne" checkbox. Thanks to Ivo Neri for the patch. 3.2.0 (11/21/2010) ================== Enhancements: Updated Translations: - Chinese (Thanks to xpdz) - French (Thanks to Erwan DUROSELLE) SQL Scripts Plugin: New preference that allows to choose the escape string for new lines. See Glob al Preferences --> Tab SQL Scripts (See patch #3079664 by Paul Wagland) Hibernate Plugin:

- New handling of limiting object count for HQL queries. This may prevent seve re performance problems. Formerly the limit was set more or less under the hood (SQL limit was used). Setting the limit can cause the performance problems. - Hibernate session can now be started in an external process. This can keep SQuirreL from running into memory problems when working with t he Hibernate Plugin. See Hibernate configuration panel for details. Introduced a new general data type property 'Use column labels instead of column names in result headers'. See Global Preferences --> Tab 'Data Type Controls'. Will be useful e.g. for MyS QL if Aliases are used in Select clauses. Session Property: "Keep SQL result table layout on rerun SQL" If this option is checked the layout of the table of a SQL result is tried to be restored after rerunning the SQL. Note: You rerun an SQL statement when you click the running man button on the up per left of a SQL result. New way to view query results: There is a new tab inside a query result named "O verview". It might need some trying out to understand what it does. Incorporated patch which provides a node in the object tree called LOB which lis ts all LOBs, providing details about each (Thanks to Bogdan Cristian Paulon) Incorporated patch which provides a node under each table in the object tree tha t lists all of the constraints for that table. (Thanks to Bogdan Cristian Paulon) Netezza Plugin: Added support for displaying external tables in the object tree. SQuirreL SQL Client is now built, tested and released with Maven. Bug-fixes: 2693968: The "Load columns in background" setting (session properties -> SQL tab ) is lost through restarts. 3085119: NullPointerException when adding tables to graph. 3088284: CSV export doesn't escape quotes. Thanks to wolfgang22 for the patch. 3086444: Date/Time/Timestamp types did not display right after application resta rt when others than standard formats were chosen in Global Prefs. (See patch 3087989) 2998121: (Update doesn't work, settings seem correct). Now, if the local releas e.xml file is not found the error dialog states as the cause, rather than merely s aying the release.xml file couldn't be downloaded. 2991971: RSyntax text editor ignores font settings 2992443: Cannot use RSyntax or Netbeans editors 2973045: Export to excel results in strange rounding; Thanks to Bogdan Cristian Paulon for the patch 1808038: Splash screen was always on top hiding all other windows behind it Popup-Menu for adding or removing driver specific properties didn't appear in dr iver properties

tab of alias properties on Win XP. (See patch 3083166) Double click in Alias tree always opened the selected Alias even if the mouse po inter wasn't placed on the Alias. This way Aliases where opened when tree nodes where quickly closed or opened. RSyntax editor: Replace dialog: Replace button now does a find next after replac ing. Fixed problem with sorting after dragging columns Button sizes differed in Alias and Driver docking frame Hibernate plugin: Icon buttons for connecting and opening configuration could be very small. Firebird Manger Plugin: Removed dialog (that pointed out missing Firebird driver ) from startup routines. Fixed Alias Properties not showing when drivers getPropertyInfo() fails. Behavio r has been seen with Oracle driver. RSyntax: Turned off drag and drop inside the editor. It conflicted with our drag and drop feature for files and caused editor texts to vanish. See bug #3006 515. RSyntax: When code reformatting was used on Windows, carriage return chars (\r) where inserted in the editor. These chars made keyboard arrow keys fail: If you stepped over an \r the key hit did nothing. Parser could be triggered far to often which resulted in high CPU and memory loa d. This problem was caused by redundant carriage return chars (\r). Any redundant carriage return chars (\r) are removed from files. On Win Platforms carriage return line feeds (\r\n) are kept for new lines. 3.1.1 (4/24/2010) ================ Enhancements: Code completion Plugin: - Users may choose to see column remarks in completion lists. See Menu File --> New Session Properties --> Code Completion --> Checkbox an bottom of panel Hibernate Plugin: - Results of HQL Queries can be displayed as objects - Hibernate logs can be seen in SQuirreL logs when Hibernate logging is config ured for console output. Bug-Fixes: 2991709: Quotes missing in squirrel-sql.bat 2990527: nChar() is unknown field 2982594 / 2988387: RSyntax editor crash When database errors occured while loading table columns, SQuirreL slowed down a

nd produced a lot of log messages. 2981691 / 2981694: squirrel-sql.bat fails on Windows 7 64 bit 2980873: squirrel-sql.bat doesn't work out of box 2978540: Identifiers starting with '_' where not handled as identifiers by the R Syntax lexer. This resulted in syntax coloring and completion problems. 2974533: Informix: Method can be called only once. / ErrorCode: -79 2965617: Fail to open session with RSyntax editor 2963371: Splash on 3.1 - copyright (was not updated for 2010)

3.1 (3/3/2010) ================ Enhancements: Updated Translations: - Korean (Thanks to Youngwoo Kim) - Chinese (Thanks to xpdz) - French (Thanks to Erwan DUROSELLE) Improved display of SQL result metadata Hibernate Plugin: The Classpath configuration now allows to move entries up or down. New plugin for Netezza NPS database server. This plugin allows for viewing sour ce and details of Views, Stored Procedures, and synonyms. It also provides the ability to execute stored procedures in the SQL Editor. See Help for screenshots and more details. Aliases now have the ability to setup a keep-alive SQL statement and sleep time (in seconds) to prevent a connection from being disconnected while appearing to be idle. This is done usi ng the new Connection tab on the Alias properties dialog. Derby Plugin: New tab to display the source code of Derby stored procedures Thanks to Glenn (bassnfool2) for the patch (Patch ID 2907220) XML Export: Tables in SQuirreL's GUI now allow to export data as XML (besides CSV and MS-Ex cel export) Thanks to mironsadziak for the patch (Patch ID 2905595) New editor component: RSyntaxTextArea by fifesoft.com. New features: - No long line problems - Enhanced search functions: shift F3: Find selected. F3: Repeat last find. control shift F3: Mark selected. escape: Unmark all. - Line numbers can be displayed - Current line can be highlighted Note: On MS-Windows systems the Java-VM parameter -Dsun.java2d.noddraw=true mu st be set in your SQUirreL start batch to prevent performance problems.

- New Polish translation available (Thanks to Miron Sadziak) Better table header rendering for MAC OS Thanks for Brian Mauter's Patch (ID 2856103) Feature request 2826175: Number of rows read is now visible on message panel and results tab. Feature request 1656320: Background Color Configuration is now available via a new tab ("Color Properti es") in Alias Properties dialog. MySQL Plugin Fixed object tree menu items: * Create database (on root node) * Drop database (on catalog nodes) * Rename (on table nodes) SQL Scripts Plugin: New checkbox 'Use double quotes (") for qualifying' in global scripting prefere nces. Feature Request #2818444: Oracle: Connecting as SYS not possible - now it is po ssible to add the necessary driver property to connect as SYS, or any other account that needs to connect as SYSDBA. Look & Feel Plugin - Better support for Nimbus: No horizontal scrollbars on pop up lists (e.g. cod e completion) - Removed choices for Metouia and OYOAHA as these are not supported for use in Java 6. Oracle Plugin - SQL*Loader control file generation. Adds a new right mouse menu item to tables in the object tree: "Generate SQL* Loader control file" Thanks to Jos David Moreno Jurez for the patch (Patch ID 2776344) About dialog now has a clickable link to our home page. - Thanks to Hashim Kubba for this patch (ID 2104309) Graph Plugin: - Show constraint name can be selected on each constraint separately. See right mouse menu on constraint line. - Allowed constraints to be created using drag and drop. To create such a non-DB constraint using drag and drop hold down the control key. Then right click the constraint to configure it. Bug-Fixes: SQuirreL was seen consuming a lot of memory and CPU. For details about the fix see comments in class ExitParserThreadRequestExceptio n See: http://squirrel-sql.cvs.sourceforge.net/viewvc/squirrel-sql/sql12/app/src/

net/sourceforge/squirrel_sql/client/session/parser/kernel/ExitParserThreadReques tException.java?view=log Loading and saving files on Windows produced multiple CR (carriage return) chars in files. When copy and paste was used on such files multiple empty lines were created. Note: The Windows standard editor Notepad shows multiple CR chars where they exi st and allows to remove them. SQuirreL does not remove them automatically at any place. Moved focus to SQL Editor when it gets visible through previous Session / next S ession navigation (Alt left/right) Fixed class not found exception in Oracle Plugin when setting Session Time Zone. Thanks to Neville Rowe 2946165: 2946160: 2944128: 2942351: 2927576: 2913463: 2908407: 2891190: 2879711: preferences messages not translatable translation missing in refactoring remote not translatable Program doesn't launch NPE at Copy as SQL INSERT-VALUES Problems with system classpath with quotes MSSQL driver plugin example URL isn't correct block comment content produces error Fix for Excel date export concerning dates earlier than 1900-03-01. Thanks to mironsadziak for the patch (Patch ID 2905218) 2853329: Ctrl-S overwrites existing file on 2nd try 2819161: squirrel-sql.sh in plain zip had an errant apostrophe. Tested this fi x on MacOS 10 and Ubuntu 9.04. Thanks to Jonathan James for vetting the anonymously submitted patch. 2818117 ("Make Editable" uses column label instead of name) Thanks to Christian Gruenberg for the patch (Patch ID 2924887) 2801011: Sybase (CREATE TABLE script generate decimal(15,2) instead of (15,4)) 2794860: Sybase (CREATE TABLE script generate numeric(15) instead (15,2)) 2754166: SQLScript plugin loses precision for Timestamp in H2 2746982: Error occured in IPlugin.sessionEnded() for SQL Parametrisation 2713952: Create table script (on Sybase): Always generate "datetime" type for "d ate" (and datetime) 2657987: Session was closed even if session closing confirm dialog was not confi rmed. Connection was not closed then. ArrayIndexOutOfBounds exception occured when more than one Alias was deleted for m Alias tree Fixed startup error: java.lang.NullPointerException at ... .AliasFolderState.applyExpansionAndSelectionToNode(AliasFolderState.java :144) Error in Alias tree: Alias vanished or gave an error when dragged on itself. SQL Scripts Plugin: - Several scripting functions did not respect global scripting preferences abou t qualifying tables. - When generating insert scripts from a SQL statement the global preference "Qualify table names in generated scripts with the schema name" di d not work. Thanks to Johann Geyer for the patch (Patch ID 2365193)

- Generating data scripts may throw java.lang.StringIndexOutOfBoundsException w hen timestamps where scripted - Foreign key constraints with more than one column were not scripted correctly . (Only first column was included.) Schema caching: Removed problems with selective schema caching when the same table name exisits in two different schemas. E.g. column completion didn't word anymore. Stored Procedures that return a mix of update counts and results sets weren't di splayed properly. 3.0.1 (3/23/2009) ================ Enhancements: - New Korean translation available (Thanks to Youngwoo Kim) Bug-Fixes: 2686268: OS X Look and Feel is Incorrect 2645286: Quotes missing in squirrel-sql.sh (Thanks to mdykierek for the patch) 2531193: Oracle create table script the "ON UPDATE" is wrong 2644778: "Contents Tab SQL filter" and "Limit cell edit WHERE clause size" dialo gs didn't work Other reported bug-fixes: - Fixed UI freeze issue which sometimes occurred when using software update fea ture. - Better support for PointBase 5.7 - Fixed bug which caused NullPointerException in Refactoring when modifying col umn types - Fixed bug which occurred when generating FK SQL for DB2 where the update and delete action clause result in syntax error for certain standard constraint actions. - Fixed the case of the install directory (java -> Java) to match the case of t he directory created by the installer. - NullPointerException occured when last tab was closed - Fixed several problems when Schemas where cached. For example, "Contents Tab SQL filter" and "Limit cell edit WHERE clause size" dialogs did not open. - Fixed a problem where when certain windows were closed (for example, the Sess ion Properties window) the first tab was always selected 3.0 (2/21/2009) ==============

Enhancements: Dataimport Plugin: * SuggestColumns: if columns in database and in the first line of the file are equal, they are matched for the import. Sybase Plugin: * New ExceptionFormatter for SQLWarnings: better viewing warnings while the pa rameter showplan is on (set showplan on) Look an Feel Plugin: * Made Nimbus look and feel available (needs at least JDK/JRE 1.6.0_10) * Made Metal look and feel with Ocean theme the default (used at first start u p). * Added warning message that look and feels other than Metal may cause perfoma nce and/or functional problems Updated Italian translation (Ivo Neri), Chinese translation (xpdz), French trans lation (Erwan Duroselle) New user interface layout: Tabbed layout Hibernate Plugin: - Cleaned up details display in mapped objects tab: Now every tree node displ ays an appropriate details table. - Added hint to solve StackOverflowError caused by logging that may occur whe n connecting to a Hibernate configuration. Object tree search (Feature request 2004240): Above the Object tree is a text field and a find button. The search string has to be the exact simple (unqualified) name of an DB obje ct or may contain placeholders ("%" or "_"). The text field supports code completion. A filter button allows to apply the search string as Object tree filter. Object tree filtering: Multiple (comma separated) Object tree filters can be defined. Filter conditi ons can be excluding oder including. Better support for placeholders "%" and "_". See "Session Properties"/"New Session Properties" dialogs --> Tab "Object Tre e". Graph Plugin: - Qualified table names can now be displayed. Use the right mouse menu on graph background. Edit Extras Plugin: - Improved handling and look of Escape date dialog. Graph Plugin: - New entries in table's popup menu: "Copy table name" and "Copy qualified tabl e name". - Columns of all tables in a graph can now be ordered at once. Use the right mo use menu on graph background. New Plugin: Smarttools by Michael Romankiewicz - Searching for tables that do not have a primary key or unique index or index .

- Searching for non nullable columns that contain null values. Some DBs e.g. F irebird can be tricked to have this inconsistency. - Changing values database wide according to specified criteria. For more information see the Plugin's help. New Plugin: Firebird Manager by Michael Romankiewicz - Storing and restoring Firebird DBs - Managing users and roles for the Firebird RDBMS For more information see the Plugin's help. - Aliases can be displayed as list or as tree. - A new preference for choosing Locales is available in Global Preferences -> G eneral tab. This allows you to set your preferred locale, and if an optional translation is installed that c orresponds with the preferred locale, then restart and the changes take effect.(No longer necessary to hand edit the start script) - Copy as "SQL WHERE" / "UPDATE-SET" / "INSERT-VALUES" statement function in ta bles Tables offer right mouse menu to copy WHERE, UPDATE-SET or INSERT-VALUES clau ses of selected data to clip board. Works like the existing "Copy as SQL IN statement" function. - New Plugin: SQLReplace by Dieter Engelhardt This plugin replaces a set of variables before a statement is executed. The variables to replace can be defined at the Plugin's Global Preferences ta b. - Added a preference option to allow the selection of items in lists to change while activating the popup menu on a single right-mouse button click. For example, without th is, you need to select an object in the tree with a left mouse button click, then press the r ight mouse button to activate the popup menu.(See Global Preferences -> General -> Select On Ri ght Mouse Click) Data Import Plugin: It now warns the user when importing data into an existing t able, that it's current data will be truncated first. DBCopy Plugin: - Added support for mapping the DISTINCT source column type for copying data fr om PostgreSQL DB2 Plugin: Lars Heller provided a patch to add support for XML column types in SQuirreL via the DB2 Plugin (tested against DB2 v9.5 LUW) Oracle Plugin: - Added validity (VALID INVALID) field to trigger details tab for triggers. - Allow the user to configure whether or not to show the syntax error offset in the SQL Editor. This feature creates a user-defined function called SQUIRREL_GET_ERROR_OFFSET, which can be disabled. - Added ability to recognize "create package" and "create package body" stateme nts.

PostgreSQL Plugin: - Added support for PostgreSQL(8.3.x) new XML type. Contributions from Daniel Regli and Yannick Winiger: - Menu: added a new "PostgreSQL" menu to the object tree and the session menu f or PostgreSQL-specific functionalities. - Vacuum: added visual (dialog) support for the PostgreSQL-specific VACUUM stat ement for garbage-collecting a selection of tables or the whole database. - Explain: added an additional SQLResultExecuter to the sql panel that shows the query plan of executed statements. Refactoring Plugin: - Fixed bug which caused column comment alter statement to be generated even wh en no column column change was made. - Don't try to order the list of tables to be dropped (forcing FK info retrieva l) when there is only one table being dropped. - Contributions from Daniel Regli and Yannick Winiger: Added new Refactorings (All new refactoring dialogs can now be closed with th e ESCAPE key): - Rename Table - Add/Rename/Drop View - Add/Modify/Drop Sequence - Add/Drop Index - Add/Drop Foreign Key - Add/Drop Unique Constraint - Add Lookup Table - Add Auto Increment - Merge Column - Merge Table - Refactoring, scripting for Intersystems Cache DB: Made Refactoring and scripting functions available for the Intersystems Cache DB by activating its Hibernate dialect. Bug-Fixes: SQL Replace Plugin: Fixed a bug that caused patterns such as $P{startDate} to th row an exception. Add/Edit Alias window did not resize properly SQL Scripts Plugin: On some DBs (e.g. MySQL) "Store result of SQL in table" did not work for SQLs that returned a lot of rows. Graph Plugin: Table's right mouse menu "Add Parent tables" did add a parent more than once when more than one foreign key to the parent existed. Graph Plugin: Refresh didn't work for newly created constraints Fixed several bugs which made it impossible to work with SQLite.

Fixed a bug which made it difficult to see text that was being edited in a table . 2609090: Auto update fails if "empty" change list is validated 2480365: Plugin loading fails when installdir has spaces 2220792: SQLite: content not editable 2184379: (SQuirrel client 2.6.6 fills up 52 gigs of log file space). Added a ne w log appender that is based on file size rather than time. 2119937: Windows EOL chars (CRLF) are converted to Linux EOL (LF). 2104422: Fixed some potential bugs (Thanks to Hashim Kubba) 2102894: Missing Scale Placeholder in Sql server dialect. This causes script ge neration and dbcopy targeting MS-SQL server to produce decimal columns without the scale attribute ( that is, decimal(7) instead of decimal(7,5)) 2092902: Focus remains on hidden session window for Alt-Arrow. Removed code whi ch was a work-around for a bug in java 1.3, that has since been fixed and was actually pr oducing a bug seen in java5 and java6, where the Alt-RightArrow key shortcut switched sess ion windows into the foreground without giving them focus. Thanks goes to Johnathan James f or the bug-fix. 2091569: FAQ is missing its images 2049336: Make Editable disappear from SQL/results tab 2018512: DB2 timestamps still don't work when milliseconds are zero. Patch submi tted by Daniel Strnger. 2018018: (Bug in FormatSql function) Formatter now uses platform-specific EOL ch ar sequence. 2013346: export csv with option "carriage return + linefeed" 1995728: Unable to switch database 1958881: (Unable to see source of database views) Adjusted the query for view s ource to use underlying system tables instead of INFORMATION_SCHEMA.VIEWS, since this view ca nnot handle views that are greater than 4000 characters. 1968807: Unsigned INT problem with IMPORT FILE functionality 1968270: Displaying unsigned INT as signed INT in column 1845987: PostgreSQL interval types are not displayed

1840266: Create Table Script sets varchar columns to 8000 1830649: Focus Loss 1824534: Constraint created twice 1902611: (Oracle) Don't fail on SQL-Plus "SET ..." commands in SQL script; Now, the Oracle plugin skips over them. 1876352: (DB2) Incorrect TIMESTAMP in create data script (loss of precision - n anosecond component - also affected other databases. 1861402: (Informix catalog switching doesn't work correctly) - Better catalog switching behavior for databases that support catalogs. Now i f a connection is made without specifying the catalog, a place-holder catalog ("None") is inserted into the catalog drop-down menu and removed once a catalog is selected. - Fixed a race condition that caused the tree to be refreshed before data was r efreshed from the database when the catalog was switched. - For Informix, setCatalog seems to have no effect, so now an explicit DATABASE <catalog name> command is issued. 1848924: Sybase object browser contents not displayed 1769599: fix for permission problem with Windows Vista. Now we create our tempo rary path file in a temporary location that the user should always be able to write to. Thanks to user aberde en61 for contributing the fix. 1596240: Fixed bug when displaying HSQLDB->Objects->Content, where contents are not shown and exceptions are thrown because tables are not being qualified with the schema name. 1541325: (Derby) Connection doesn't close when ending session - thanks goes to A lex Pivovarov for the patch that fixed the issue. Bug-Fix for bug that caused Frontbase indexes not to be displayed in the indexes tab, for tables in the Object tree. Fixed identifier qualification in Progress - tested on OpenEdge 10.1C. Now only schema is pre-fixed to identifiers, instead of catalog and schema. Code Completion Plugin: - Made column completion available for databases/JDBC drivers that support cata logs and/or schemas but don't provide catalog or schemas in their column meta data. For example s ome versions of MySQL show this behavior. DBCopy Plugin: - Only attempt to order the tables being copied if there is more than one table

in the copy set. Changing to another window using Alt + left/right arrow did not properly set foc us. Hibernate Plugin: - Class names in completion list could change from fully qualified to simple while scrolling through the completion list. - Fixed identifier qualification in Progress - tested on OpenEdge 10.1C. Now only schema is pre-fixed to identifiers, instead of catalog and schema. When a statement like "from Kv k where k." was completed the fields for k. wo uld come from any arbitrary mapped class which name started with Kv Refactoring Plugin: When generating DROP TABLE statements, Frontbase requires CASCADE or RESTRICT. Now we append CASCADE to the DROP TABLE statement. 1830649: 1820792: 1821354: 1820214: 1820020: 1815667: Focus Loss Sybase ASE - table not shown in object browser Changing default value of a column in Derby does nothing 2.5.1 DB aliases do not transfer properly to 2.6.1 modified tables aren't sorted Create Table Script does not include column defaults

Syntax Plugin: Fixed memory leak which caused sessions not to be garbage collected. Bug-fix for plugin unloading where unloading a session plugin did not prevent it from binding to new sessions. 2.6.1 (10/24/2007) ============== Bug-Fixes: 1818446: Packaging problem in v2.6 on MacOS X 1805954: Tables not in alpha order in Object view 2.6 (10/20/2007) ============== Enhancements: New Plugin (Hibernate) - allows to generate SQL statements from Hibernate HQL statements - shows object tree of mapped objects - HQL Code completion and syntax highlighting - Three ways to create a HibernateSessionFactory * Native way using "new Configuration().configure().buildSessionFactory();" * JPA way using "Persistence.createEntityManagerFactory("<persitence-unit n ame>");" * User defined way to by calling a user defined provider method. See help for further details. Improved speed at which large files are loaded into import popup for CLOB/VARCHAR cells. Added basic drag-n-drop to transfer a file from the desktop into an SQL Editor panel.

New Plugin (SQL Parametrisation - Thorsten Mrell) allows you to put variables into your SQL statements. New Plugin (Data import - Thorsten Mrell) allows you to import arbitrary files into the database. DBCopy Plugin: - Copy thread will wait for the dialog record progress bar to be updated before continuing to copy records. - Fixed bug which caused cursors to remain open in the source database after the copy operation was complete. DB2 Plugin: - Added tab for displaying the source code for DB2 MQTs as well as DB2 tables. - Added support for OS/400 (trigger source and details not yet implemented). Special thanks goes to Tilmann Brenk for submitting OS/400 versions of all SQ L statements required to support the plugin features. - Added support for showing user-defined functions in the object tree and the source code that is associated with them if it is available. - Exceptions from DB2 Universal JDBC driver are now interpreted as DB2Diagnoseable exceptions so that the cause of the exception can be printed (Thanks to Christoph Schmitz). - When the source tab of a C-language stored procedure is selected, we now show the user a nice informative message stating that the source code is unavailable instead of merely displaying the word "null". Code Completion Plugin: When Ctrl+Space is hit while completion popup is already open the prefix up to where all completion candidates match will be written to the SQL editor. The completion popup will remain open. Derby Plugin: New custom QueryTokenizer which allows Derby sessions to give the command: run '<abs-path-to-script>' This reads in the file and executes it's statements. This is supported in Derby's own ij command-line interpreter. Firebird Plugin: Added triggers node for each table to display triggers. Informix Plugin: - 1732161: Fixed Source code of procedures and triggers to work with Informix version 7.3.1 - When executing an SQL statement with a syntax error, the driver is now asked to provide the position of the error in the statement. If it is available, the cursor is moved to the position of the incorrect syntax. LAF Plugin: Added Substance 4.0 look and feel as an option. MySQL Plugin: - Added support for handling stored procedure create statements. - Added source tab for Stored Procedures, Triggers and Views. Triggers are displayed as object nodes beneath tables as is done in other plugins. Oracle Plugin: - 1446678 (SQL Error Help) Added capability to put the cursor at the position in the SQL where the statement failed. - 890843, 1787653: Added support Oracle's SYS.XMLTYPE column. - Warning message is displayed if string literal timestamp setting is used for

internal where clauses - this setting may result in the inability to edit tables. - (Feature Request 1735530: Hide Oracle Bin$.....==$0 tables ) Added configuration for removing the Recycle Bin tables from the object tree. - Show the source for Oracle tables, as well as materialized views. - Added additional query tokenization pass to find begin...end;/ type anonymous procedures. PostgreSQL Plugin: - Added database locks display tab for PostgreSQL sessions. Click on the top node in the object tree and look for a "Locks" tab. Code was adapted from Rocc o Rutte's tab of the same name and purpose in the EclipseSQL project. Refactoring Plugin: - Fixed problem where the comment of a column could not be altered if it was null. - Refactored drop tables command to not use the event dispatch thread for calculating foreign keys(UI Responsiveness). Also, now FKs in child tables are dropped before any parent tables are dropped when cascade constraints is selected. SQLScripts Plugin: Now uses types generated by Hibernate dialects for create table script feature. Also, it now uses the session query tokenizer. Sybase Plugin: Added new trigger and index nodes beneath tables in the tree. Also, added trigger source tab for triggers. Patch 1761706 (Miscellaneous Java 5 Generics) submitted by Bron Eubanks Task 138098 (Plugins Session Menu Items (Disable)) When using a session that is not supported by a db-specific plugin, that plugin should disable it's Session menu items Task 137959 (Refactor PreferencesManager) removed redundant plugin class definitions related to Preferences which were very similar. - Added unload button to plugin summary dialog which will cause the selected plugin to be unloaded. - Added support for setting whether or not plugins are loaded at startup (without physically removing them), using the plugin summary dialog. You must restart SQuirreL for plugin change to take effect. - Added 'Use PK' button on the "Edit Where clause" dialog which will cause only PK columns to be used for updating rows in the table contents panel. - Added "All Objects" to alias properties. - Use the last directory that a file was imported from when importing additional files for binary fields. 1757076: (DATE column seen as TIMESTAMP, update in editable mode fails) Changed the default of "Read Date as Timestamp" to false. This setting breaks editing dates on Derby. 1743720: (Save settings immediately, not only when closing SQuirreL). Now there is a setting in Global Preferences to "Save Preferences Immediately" (Default is true) Additionally, if this is not desired and it can be disabled to give the

old behavior (faster), and a new menu item under "File" called "Save Preferences " is available to immediately save everything that is normally saved during shutdown. 1742033: (Skipping quoting escape in table dropping) Refactoring plugin drop table functionality now handles tables with embedded double quotes by doubling the double quotes to allow the database to recognize the doubled quote as a single quote which is part of the identifier. Thanks goes to Thomas Mueller (from www.h2database.com) for contributing code to fix the issue) 1731251: (Cryptic exceptions with DB2 JCC driver) Provides an API to allow plugin authors to create and register custom exception formatters to be used when displaying error messages and the like in the session message panel. Updated French translation (Thanks to Erwan Duroselle) Finished German translation Bug-Fixes: Statements like "SELECT TestTab.testid, TestTab.testname FROM TestTab" were not editable. Fixed bug in CodeReformator which is exposed when the statement separator is " ". Also, made formatted source tab able to handle this type of problem more gracefully by showing the source in it's original form, instead of nothing at all. Goto line dialog (ctrl+g) was missing labels. 1752089 (ConcurrentModificationException raised when loading schema) 1716859 Can't see data in content tab or row count tab (MS SQLServer databases with a dash ("-") in their name would cause the content tab or row count tabs to render no data. 1714476 (DB copy uses wrong case for table names) The copy operation would sometimes fail to select records from the source table. Since the case for the source table is always known to be correct, the plugin no longer erroneously attempts to correct the case. 1714475: (Adding rows from the content tab) When inserting row data, pay attention to isAutoIncrement flag so that these columns are excluded like rowId columns. After insert, refresh the table data so that auto-generated fields are populated. 1704798 ISQLExecutionListeners cannot return "null" 1701380 addSQLExecutionListener is broken 1700093 Formatter fails for insert script with multiple sub-selects 1699294 Squirrel imports BLOB, but does not update data 138092 (PostgreSQL table types) Now PostgreSQL table types list and object tree exclude "SYSTEM INDEX" type. Treating these objects as tables causes lots of SQLExceptions from the PostgreSQL jdbc driver.

Refactoring Plugin: - When building a new TableColumnInfo, if the defaultValue textfield is blank, then make the default value be null. Task 137984 (Bug in alias delete) The problem was that notifications were being sent to the alias drop-down that the item was being deleted which triggered an update and new selection forcing the connect to alias window to be launched. Now, the alias drop down is disabled while the update is happening and enabled immediately afterward. Fixed a bug that occurred when no plugin installs a custom QueryTokenizer in a Session - changing the session properties for query tokenizing has no effect. Fixed bug which appeared while editing tables in PostgreSQL 8.1. If the table was created without an OID column, the last column would not be editable. Fix for issue where dates aren't correctly displayed or updated when using 'treat date as timestamp' pref in the SQl Editor result panel. 2.5 (4/7/2007) ============== Enhancements: Updated Updated Updated Updated Czech translation (Thanks to Jan Kostrhun) Simplified Chinese translation (Thanks to xpdz) French translation (Thanks to Erwan Duroselle) Italian translation strings (Thanks to Ivo Neri)

- When the user control-clicks on an identifier in the SQL editor it takes you will show that object in the object tree (Same behavior as Ctrl-b). - Dialog prompt to save file changes on exit, now includes the filename in case there are multiple open files in different sessions. Also, the session alias name appears in the title, in case the editor contents aren't yet associated with a file. - SQL history window The contents of the SQL history combo box can now be opened in a window where the user can search for formerly excuted statements. The history is available through a button next to the SQL history combo box or through tools pop up (ctrl+t). - Export: Warn the user when exporting data to CSV/Excel if there are Clob placeholders (<Clob>) in the table data being exported. Also, let the user know when the export to file is complete, if no command is to be executed to show the exported file. - 'Delete Records' action now orders the selected tables in order to satisfy any FK dependencies. Previously, this operation would fail if PK tables preceded (by name alphabetically) FK tables in the object tree list. - Certain plugins (Oracle, Sybase, MS SQL-Server) now have configuration tabs (in Global Preferences) to allow for configuration of the statement separator for scripts independently from the Session properties configuration. For example, this means that now when you switch between session windows that use different statement separators (Oracle = ';' / Sybase = 'GO'), you no longer have to change the global statement separator for all sessions to get the correct one for script execution. As long as you have the plugin installed

which corresponds to the type of database that a session is accessing, a reasonable default is supplied to make this configuration unnecessary in most cases. - Added better support for executing large scripts (by default, a script is considered large if it has > 200 SQL statements selected for execution in the script). Now, only one message is written in the message panel at the bottom of the session window at the end of running many statements summarizing the details of execution (timing, statement type and count, etc). The message "SQL Statement x of y <some sql...>" is still displayed in the results panel t o indicate progress. Also, the history bar isn't updated during large script execution. The "200 SQL statement" default is configurable in Global Preferences under 'SQL' tab and all of this new functionality can be disabled by using '0' (zero) as the value of large script statement count. This dramatically improves UI responsiveness for large scripts (especially those with statement counts in the thousands) and makes it possible to cancel the execution using the cancel button - which is otherwise effectively disabled while the UI attempts to keep up with all of the UI updates in a large script. New Plugins for H2, PostgreSQL and DB2 These plugins provide source tabs for stored procedures, views and trigg ers. They also provide details tab for sequences and triggers New Plugin for Sybase ASE by Ken McCullough The plugin allows to script the code of Views and Stored Procedures of t he Sybase ASE DB. Code Completion: - The number of table columns that should be displayed on top of the completion list when completion is called outside of the scope of a table/view is now configurable in code completion properties. Edit Extras: - New formatting action - remove newlines. This is useful when copying SQL from console windows that insert end-of-line characters when copying. Refactoring Plugin - Added support for modifying the column type from varchar2 -> clob and clob -> varchar2 (which isn't directly supported by Oracle's column modify alter statement). - 'Drop Tables' action now orders the selected tables in order to satisfy any FK dependencies. Previously, this operation would fail if PK tables preceded (by name alphabetically) FK tables in the object tree list. SQL Scripts Plugin - Now when selecting 'Create Data Script', the insert statements created are ordered by the first column. Oracle Plugin - Added configuration panel for Oracle plugin in Global Preferences to allow configuration of new custom Oracle query tokenizer. - Added support for executing create procedure, create function and create trigger blocks delimited by a single "/" such as is supported in SQL-Plus. Also, added support for the "@" construct which is used to specify a script file to be executed without loading it into the SQL Editor first. - Source tab for views now presents source code that is formatted and correctly formed to allow it to be used as an SQL statement to replicate

the view. - Added the schema name to the SID for session nodes - it's easier now to find the session you are looking for. Informix Plugin - Is now using the code reformatter for formatting the Source Tab for views The code reformatter was written by Gerd Wagner and previoously located in the EditExtras plugin. It has been moved to core so that other plugins can take advantage of this capability. DBCopy Plugin - Allow the user to set "0" for the fetch size to indicate that this should not be called. JDBC-ODBC bridge driver fails to execute *any* SQL once you have set the fetch size to *any* value. - Analyzes FKs to be copied and skips them if they already exist in destination database. - Now the plugin reorders source tables to satisfy FK dependencies when copying data into existing tables with similar constraints. - The error message for SQLExceptions now includes the SQL statement that was last executed (including bind variable values if it was a PreparedStatement) Data Type Controls/DBCopy preference sheet scrolling - sped up the scrollbar so that one click of the down arrow gives ~10 pixels of scroll instead of only 1 pixel. This makes it so that scrolling with a wheel mouse moves from top edge to bottom edge in about three full rotations of the wheel instead of about thirty. Bug-Fixes: - Fixed issue where USERS, SESSIONS, INSTANCES nodes in the object tree for Oracle sessions weren't being populated with child nodes when the session is first started. - Added support for identifying Informix XPS, so that the Informix plugin can be used (Thanks to Dieter Engelhardt for the patch) - When treating dates like timestamps, simply use the DataTypeTimestamp class instead of trying to make the DataTypeDate class smart enough to interpret timestamps. This fixes the issue where a Number format error was encountered while editing DATEs when they are being interpreted as TIMESTAMPS. - Fixed NPE that is seen on startup when sessions are set to "Connect at Startup " - Fixed functions like Quote/Unquote SQL or Format SQL which were removing new l ines. (Now there is a separate function to remove newlines) - Caching of schemas (serializing to disc) failed. A NotSerializableException was thrown, due to development code introduced during version 2.5 development. - An error occured when F5 (Refresh) was hit in a SQL Work Sheet or an Object Tr ee Window. 1689040 (plugins prefs files saving) Now preferences for some plugins (DBCopy, MS SQL-Server, Oracle, SQLScri pt and Sybase ASE) that were formerly stored in the program plugin directory, are now stored in the user's settings directory. This means that preferences fo r these plugins should now be preserved when re-installing SQuirreL to a new loc ation. To migrate existing settings, command-line arguments can be given: -DmigratePreferences=true -DoldSQuirreLInstallDir=<old location>

This will result in migrating newer prefs.xml files that are located in the program plugin directory (e.g. <old location>/plugins/dbcopy/prefs.xml) to the user's settings directory (e.g. USER_HOME/.squirrel-sql/plugins/dbcopy/prefs.xml) You should edit the launch script to add these settings, start SQuirreL, stop SQuirreL gracefully, then remove these settings from the launch scr ipt. 1682289 Schema browser won't show all schemas. (Thanks to Robert Williams for the patch) 1681202 Access to column metadata by name (that is, COLUMN_NAME) fails. This affected the SQLScripts and Graph Plugins for some versions of the DB2 JDBC driver) 1680919 failure to export cvs/excel on mac osx (incomplete ClassPath entry in Info.plist) 1679998 DOUBLE PRECISION is rounded with locale datatype setting 1675787 Bad link in Online Help 1672207 Create Data Script - PostgreSql. PostgreSQL requires insert statement boolean values to be literal strings "true" or "false", instead of 1/0. 1660412 Create insert script hangs on explicit Oracle DATE fields (A bug in the the SQL parsing routine would hang the thread when the word "fro m" appeared in a column name in the select statement) 1659412 TIMESTAMP WITH TIME ZONE shows as <Unknown (-101)> - Support was added for rendering values of columns with this Oracle-specific type. 1646886 (SQL Bookmarks: Duplicate parameters show as duplicates in the dialog bo x) Now parameter that appear multiple times in an SQL statement do not result in multiple entry fields in the boolmark run dialog. 1643307 Title is missing in Save-Dialog (When ending a session for file saves) 1617839 Two new lines with white spaces in between do not separate SQLs when SQLs are executed without selection. 1639680 Cannot export smallint and decimal to MS Excel 1635259 Session menu has two items with mnemonic "T" 1639662 Block comments can be ended prematurely (Thanks to Sam Polak for the patch) 1631392 (Dropping materialized views) - The 'Drop' menu item has been replaced by a 'Drop Table(s)' menu item available with the Refactoring Plugin. The new menu item allows the user to specify whether or not to cascade

constraints as well as being able to see the SQL that will be executed. 1471672 Float numeric field precision loss in output (DBMS:Oracle) 1447227 Object tree should refresh when changing object tree filters DBCopy Plugin - If the source/dest database is Oracle, and the type of column being copied is DATE, then treat it like a TIMESTAMP for reading or writing the value. Oracle stores a time component in date columns and this change prevents the time component value from being lost if the destination database can also store a time component in DATE columns. Derby Plugin - Transformed trigger source tab contents into valid SQL that can be used to re-create the trigger. - Fixed multiple bugs that occurred in the source tab when the same view/trigger name is used in multiple schemas. Informix Plugin - Fixed to work with IDS 9 - qualified references to all system views by prefixing them with the string 'informix.' (no quotes). - Fixed ordering segements within the body of Stored Procedures. - Applied code formatting to triggers and view source. - Fixed erroneous inclusion of extra whitespace which for some definitions made the SQL invalid. Oracle Plugin - Fixed a memory leak where the plugin was holding on to closed sessions Refactoring Plugin - 'Drop Column' action now properly delegates db-specific drop column command to the appropriate dialect for the session. - Now allows precision and scale for new or modified columns to be set to 0. - The scrollbar in the column list dialog now appears, where previously it did not, making tables with many columns difficult to work with for Add/Modify/Drop column. 2.4 (12/31/2006) ================ New Features/Enhancements: Note: This is the first release of SQuirreL that specifically requires JDK 1.5 or higher to compile and run. The build scripts and the installer now check for at least 1.5 before proceeding. MS Excel export of displayed tables: Besides the exporting tables displayed in SQuirreL to CSV files it is now possible to export to MS Excel files. Thanks to Andr Schild for the patch. Graph Plugin: New right mouse menu item for tables: "View table in Object tree" Derby Plugin: A new plugin which allows the user to view source for triggers and views. Also, detailed information about triggers is available. Informix Plugin: A new plugin which allows the user to view source for stored procedure, trigger and view objects. Also provides Informix-specific details for indexes and triggers. Special thanks goes to Doug Lawry for help setting

up an Informix instance for developing the plugin, and providing the system catalog queries necessary for the object information provided by this plugin. Refactoring Plugin: A new plugin which currently allows users to alter tables by adding, modifying and dropping columns as well as adding/dropping Primary Keys. Uses an extended Hibernate dialect framework to derive SQL which is syntactically correct for the database being modified. Made SQuirreL work with hxtt drivers. See www.hxtt.com. Thanks to Yonghong Zhao for patches. Oracle Plugin: Windows for - DB Output, - Session Info, - SGA Trace, - Invalid Objects were changed in the following ways: - Tool bar buttons are not in the main frame tool bar any more but in the Session tool bar. - Each window has its own tool bar icon. - All windows restore their last size and position. - All windows provide a "Stay on top" check box. Syntax plugin: Corrections/Abreviations allow new lines. Use \n to create a new line. Note: Bookmarks are more powerful than abreviations. SQuirreL paths (-home, -user) are shown in Global Preferences LAF Plugin: Added Napkin Look and Feel (JDK 1.5 only) Completion Popup (Code Completion ctrl+space, Tools Popup ctrl+t, Bookmarks Popup ctrl+j): When the beginning/end of the pop up list is reached another arrow up/down jumps to the last/first entry. 1015274: Provided better DB2/400 system naming support 1602255: 'Interpret DATE columns as TIMESTAMP' also in SQL view. When this configuration item is checked, any SQL query result that contains a DATE column will show the DATE values as TIMESTAMP values (This is useful with Oracle where DATE columns also contain TIME components) Schema refresh on catalog combo box change: Schemas are refreshed automatically, when the user switches to another catalog. On systems that support Catalogs like Sybase or MSSQL, Schemas within a Catalog only become accessible when the catalog combo box is switched to the their Catalog. To make Schemas available in the Object Tree, Code completion etc. after a Catalog switch Schemas are now automatically refreshed. (Thanks to Stan Berka for this patch) Graph Plugin: The Graph plugin now allows to save jpg images to files instead of printing them . The image files are an exact copy of what would be sent to a printer and can easily be used within other applications. (Feature requested by David Karr) DBCopy Plugin: Added support for Informix and HADB. Relocated dialect framework to core to allow other plugins to use (Refactoring) - this version is now no longer compatible or supported for previous versions of SQuirreL.

Re-organized the table and view context menus so that the SQLScripts plugin menu items now appear under the "Scripts" menu item and in the same order that they appear in the session menu "Scripts" menu item. Updated Spanish translation strings (Thanks to Diego Schulz) Added JDBC driver CLASSNAME and CLASSPATH to the Metadata tab so that it is not necessary to open the driver definition for the current session to get this information. Bug-Fixes: When reconnecting a Session with the current connection dead SQuirreL always switched to Autocommit = false state. Now the Sessions Autocommit state is preserved. MySQL Plugin: Fixed bug which caused the MySQL all of the tabs to appear with no content. SQL editor function "View Object at cursor in Object tree" (ctrl+B) now works for fully qualified object names with leading and trailing quotation marks and slashes. Oracle plugin: Fixed the rendering of details/source tabs for indexes sequences and triggers. Added support for Informix way of referring to database objects within catalog and schema as catalog:"schema".objectname. DBCopy plugin: - Removed reflective code used for backward compatibility which was causing IllegalAccessExceptions when the keyword test was applied to column names. - Fixed bug in copying FK constraints which left cursors open by not properly closing ResultSets when they were no longer needed. - Fixed bug in copying FK constraints where the primary key table name wasn't fully qualified the schema of the destination database. This was most noticeable when copying tables with FKs into a schema which was not the default schema for that session. - Fixed bug where cancelling the copy operation during table data transfer did not also cancel the transfer of table constraints. 1601610 - Bug while editing integer/long columns 1598162: Fixed the issue when using Java 6 you had to click the Connect button twice when the app is first started. 1597463: Maximized and multimonitor window size not saved 1595913: Cannot select SQL dropdown under java 6. Added logic to prevent the MacOS X plugin from loading if not on the mac platform. It causes the Global Preferences menu item to disappear when it is loaded and the platform isn't Mac Look and Feel Plugin: Plastic Look and Feels (JGoodies) weren't available anymor

e. "Make Editable" on single table SQL did not work when SELECT list contained new lines. 1554175: (Aliases lost on close) 1532997: (NullPointerException when trying to save alias) 1522229: (Error occured saving Alias Definitions java.lang.NullPointer) Many people complained about this one. At first we determined this was low priority since it didn't seem to be reproducable on all jvms. We inadvertantly changed the SQLDriverPropertyCollectionBeanInfo such that it no longer accurately described the bean SQLDriverPropertyCollection. in 1.4.2_05 this triggered an NPE bug in the jvm code (Introspector.addPropertyDescriptor) which caused the SQLAlias persistence to fail, leaving the user with no aliases. 1584283: (DBCopy plugin - Copying LOBs from Oracle to Oracle fails) If destination column type is Types.OTHER (1111), try to get the type name and map it to a valid java SQL type (such as Types.BLOB or Types.CLOB). This only works when the database column type name as reported by the JDBC driver is a standard type such as BLOB, VARCHAR, CLOB, CHAR, etc... A mapping exception is thrown otherwise. 1584260: (DBCopy plugin - Fix for issue where the same table is found in multiple schemas/catalogs that the user has access to. Now we specify catalog or schema if the driver claims to support them.) 1577254: Trigger details tabs aren't rendered 1532857: (DB2 on AS400 table list not shown) Incorporated Colin Bell's patch to address this issue which causes SQuirreL to give '*ALLUSR' for the schema value when calling DatabaseMetaData.getTables. 1520156: changed the function of the configurable ref actions checkboxes for SQLScript plugin. Now, they will override what is contained in the DatabaseMetaData if checked. If not checked, we now use whatever the database tells us the ref action is (before we weren't bothering to check the with the database. Now we do, by default) 1508503: (Double entry for each column fields): Don't add the column to the list if it is already there - uses the fully qualified version of the column, so may still see duplicate columns with different types. Bug Fix: Editing data in multiple tables would sometimes fail erroneously with an error message like "This row in the Database has changed since you refreshed the data. No rows will be updated by this operation". Bug Fix: Solved issue where tables were not appearing in the object tree for Sun HADB (High-Availability Database). Special thanks to Lars Heill of Sun Microsystems, Inc. for technical assistance with installing/configuring HADB. 2.3 Final ========= Enhancements: An Italian translation of SQuirreL labels/messages is now available in the installer (Thanks to Ivo Neri) Bug Fixes:

1563613: Alias property window dies when URL is malformed. 1563610: (Only connection specified DB schema loaded regardless) Enhanced the catalog selection so that changing the catalog updates the schema info and expands the TABLES node in the tree for the selected catalog. 1563603: ORA-01830 error: Date format 1561293: Show Loaded Drivers Only" does not work in "Add Alias" dialog. 1558509: 'create sequence' rejected as invalid SQL 1520156: (Reverse Engineering Foreign Key Cascade Missing). Added configuration for referential actions clause of FK constraints. 1426012: PLAN_TABLE not found - look for PLAN_TABLE in other schemas and allow user to choose one. 1371587: Not possible to edit data after SQL query 1250855: (Oracle DATE does not display correctly) Added a new configuration item to Global Preferences -> Date Type Controls -> Date Section which allows the user to "Interpret DATE columns as TIMESTAMP". Bug Fix: Fix for issue where the SGA Trace view wasn't displaying data in the "Buffer Gets per Row" column. 2.3 rc2 ========= New Features/Enhancements: Feature Request #1556226: New menu items in the right mouse menu of tables "Adopt all column widths" - Adopts all columns widths of current table to header/data. "Always adopt all column widths" (check box) - Widths are automatically adopted for all tables opened in the future. New menu-item "Export CSV" in context menu of table contents spreadsheet allows the user to choose whether to use formatting from Global Prefs or default formatting. SQL result tabs offer to rerun their SQL query to update their data. Text limit line of Netbeans editor can now be positioned or switched off in Session Properties. Bug Fixes: 1448738: (JDK 6.0 regression) This appeared to be a bug in the Java 6 SE, but it turned out that we weren't using the correct method to load classes fro m the ClassLoader. Sun "fixed" the method (ClassLoader.loadClass) that we were using previously so that it no longer worked as it did in 1.4 and 1.5. For details see: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446627 We rectified the problem in SQuirreL by following Sun's suggestions

regarding which API methods are being called. 1544447: (Generated SQL script Table names are not fully Qualified, it should be "SCHEMA"."TABLE_NAME") Added a new global preference panel and checkbox to make this alternative behavior configurable. The d efault now is to qualify table names with their schema name. 1541154: (ArrayIndexOutOfBoundsException in DataTypeDouble) 1533824: (NPE when loading keywords from DatabaseMetaData) Check the values returned for null before attempting to parse and store them (DB2 driver returns null for getCatalogTerm()) Bug fix: When doing a complete refresh (F5) or a refresh item in the Object tree (see right mouse menu) code completion was not refreshed. Bug fix: In Oracle Plugin - Avoided open cursors when viewing database output ( dbms_output.put_line() ). Bug fix: Stored procedures where not shown in Object Tree when the Oracle Plugin was used. Bug fix: When a Schema was created and the Object Tree was refreshed the new Schema was not shown. Bug fix: In Alias properties for Oracle Note: This bug took effect when default Alias properties were used. So this fix probably increases Session startup performance for Oracle users who use the Oracle plugin but do not care for Alias properties. Bug: When an Alias was configured to load all Schemas and cache non but the Oracle Alias properties didn't allow to load all schemas SQuirreL still did load all tables and procedures from the database. Though the unallowed tables and procedures did not show up in the Object tree they still caused bad startup perfomance. Fix: Now only tables and procedures for allowed schemas are loaded. Bug fix: Object tree table tab titles were not being internationalized as their values were hard-coded and not available in I18NStrings.properties files. Now they are. Installer Changes: Three new translations were added to the installer: Simplified Chinese (Thanks to xpdz) French (Thanks to Erwan Duroselle) German (Thanks to Andreas Oswald) Added new optional plugin (DBCopy) to the installer which allows database tables and their content to be copied from one session to another inside of SQuirreL using Copy/Paste menu items. 2.3 rc1 ========= If an Alias is configured to Auto Logon but has wrong user name/password

on connecting the user gets an error dialog and has to correct user name/passw ord. For convenience the corrected data now is written back to the Alias. Note: The Writing back is only done when the Alias is configured to Auto Logon . Session startup performance General: New Alias properties allow to configure loading and caching of Schema s. Oracle: When the Oracle Plugin ist used an Oracle tab in Alias properties enab les you to allow an Alias's Sessions only to see Schemas the user has access t o. Fixed bug #1504123: Oracle hints losts By default SQuirreL treads /*...*/ as comments and removes them before sending a SQL to a database. This default may now be changed in the (New) Session Properties. See Menu File --> New Session Properties --> Tab SQL. Added toolbar button to toggle auto commit Bug fixes in Oracle Plugin: - Explain Plan not visible in Results tab - Object tree: Sessions, Users and Instances and nodes sometimes not visible - Object tree: SYS Schema displayed twice for certain user rights - Fixed Memory Leak (Session were not garbage collected when Oracle Plugin was used) Fixed bug #984527: Right mouse popup menu is now available in empty table. Feature request #1446675 Output tables to CSV files All tables' right mouse menus have an 'Export CVS ...' item. In the export dialog you may provide an application (like OpenOffice calc or M S Excel) to open the CSV file immediately after creation. New toolbar button: Select current SQL (control Shift S) This function is based on SQuirreL's concept of 'current SQL': If there is no s elected text the current SQL is the text between the empty line in fornt of cursor position and the empty li ne after cursor position. Any function that deals with SQL is aware of this concept. Installer now includes the following optional translation packages: - Brazilian Portuguese (contributed by Francis Martin) - Czech (contributed by Jan Kostrhun) - Bulgarian (contributed by Ivan Dimov) Feature request #1441787 Quickly adopt column widths to column values when table header is double clicked while the resize mouse pointer (<-->) is v isible. (MS Excel like) Enhancements of the Bookmarks Plugin - Bookmark preferences can be opened by the "Edit Bookmarks" button in the Sess ion toolbar.

- Bookmarks can be run from within the Bookmark Preferences. - Lots of "SQuirreL Bookmarks" which are templates for many common SQL/DDL stat ements. - User can decide if he wants to see "SQuirreL Bookmarks" in the Bookmarks sele ction popup of the SQL Editor (ctrl j). Fixed bugs in error and syntax highlighting: - Error highlighting for "ALTER TABLE ADD CONSTRAINT ..." - Error highlighting for "CREATE VIEW ..." - Error and syntax highlighting for "CASE [...] WHEN ... THEN ... ELSE .. END" Centralized Database Meta Data caching. This brings along the following improvem ents: - When a DDL statement is run the Object Tree is updated immediately to reflect the change. This works as long as standard DDL statements are used. - Syntax coloring and code completion for newly created tables, views, columns, procedures is available right after a DDL statement was run. This works as long as standard DDL statem ents are used. - The Refresh button updates the Object tree as well as syntax highlighting and code completion. Make the status message for rows affected by executing an SQL statement in the S QL panel take into account the type of SQL query issued. Fixed Bug #1472398: Content tab filters didn't work with views. Fixed Bug #1465707: Programm slow with big Databases because reading Database Me ta Data twice. Technical detail: The SchemaInfo class has become SQuirreL's central meta data cache. Fixed Bug: SQuirreL crashed during building output of SQL results when errors oc cured in number-type or date-type fields. Fixed Bug in Graph Plugin: In zoomed graphs lines with folding points could not be selected. 2.2 Final ========= - Fixed Bug #1467671: Session Properties / General / Appearance: "SQL Results Ta bs" overwrites "SQL Execution Tabs" setting. - Fixed Bug #1464361: Windows bat file is location specific (Thanks to Bill Wall ace) - Fixed Bug #1456423: Cannot cancel a query. Changed to allow the cancel operati on to interrupt the fetching of results. While resolving the "hanging" of a lo ng-running this also allows results that have been fetched so far to be displaye

d. This can help the user determine why the query was taking a long time to execute. - Fixed Bug #1447231: ESCAPE key should close dialogs - Fixed Bug #1457811: Autocomplete does not work for views when tables and view names match. - Fixed Bug for Teradata not showing SQL results. (Thanks to Matthew Dahlman) - Fixed Bug #1456463: update to allow the user to override the closing of a sess ion in the event that there are unsaved edits and they decide not to save them rig ht away. They can always choose to not save and discard, closing the session i mmediately. This change will make it so that if they choose to not discard, a nd something happens during the save that causes the edits not to get saved, the session will not be closed. Added independently configurable options to warn wh en closing a session if there are any unsaved edits (optional for File or Buffer) . If the "Confirm Session Close" option is turned off, these can stil l be enabled so that unsaved edits are never lost merely by closing a session. P reviously it was very easy to lose changes made in the SQL edit tab when the sessi on was closed. This previous behavior, if desired, is still available via Global Preferences. - Fixed Bug #1441169: error in removing a deleted row more than once. - Fixed Bug #1250514: Mysql Error: Cannot edit table. 2.2 RC1 ======= - There is now a printer icon in each SQL entry panel which will allow the current sql script to be send to a printer. Syntax highlighting is preserved. SQL entry panel size is used to scale the font. - Feature request #1441563 Query script generation: New entry for tables and views in the Objects tree's right mouse menu to creat e SELECT statements. - Added menu item and supporting capability to the SQLScripts plugin to create a drop table script from the selected tables in the object tree. - Added new property for drivers - website url - and a new menu item for drivers to launch the system default web browser and load the driver website url. - When adding a new driver definition, SQuirreL will now look at the default driver list and determine if any driver defs are missing from the user's personal list. If so, SQuirreL will prompt the user to add them. - MSSQL plugin: Scripting of procedures now works on MSSQL 2005

- Improved performance of the Session window when connecting to a database over a slow link (especially Oracle). Instead of freezing the window, now SQuirreL indicates the progress of the session connection in the session frame status bar and allows the user to perform other tasks in parallel. Note: The session frame close button is temporarily ignored when the session is still loading and therefore not in a safe state to be closed. Once the session has been loaded, the close button will be re-enabled. - Keyboard short cuts are shown in tool bar tool tips. - Navigation through SQLs in SQL Editor by tool bar or Alt up/down keys. Note: The concept of an SQL in SQuirreL is the text between two empty lines. M any functions in SQuirreL use this concept. This way the user often doesn't need to mark the text he wants to execute a function on. The concept is especially convenient for the Run SQL function (control E nter). - Introduced Oracle specific code to allow editing of tables in Oracle that cont ain Date columns. Oracle stores time information in java.sql.Types.DATE columns. The where claus es that SQuirreL used to create to update data after editing only contained the Date part of th ose columns. That's why the where clause didn't match the database row and editing failed. - SQL Editor: ctrl+backspace deletes word behind cursor. - SQL Editor: To upper/lower case function available in tools pop up or by short cut ctrl+shift+u/l - Row numbers in SQL result and Object Tree tables tables: Use the right mouse menu in SQL result tables or Object Tree tables to switch on row numbering. - Improved handling of detached result windows: * By default result windows stay on top. A check box in the result window allo ws to change the default. * Result windows show up in the window list of the Windows menu and can be nav igated to by Alt+left/right arrow. - Added New, Close and Append icons/actions to allow the SQL Panel to function m ore like an editor. - Added "Delete Records" menu item to the context menu for tables to delete all records in one or more selected tables. - Installer now includes an optional Spanish translation package which provides native labels and messages for use in a Spanish locale. - Cleaned up copying from tables: 1. Control+c and copy in the right mouse menu now do the same: They copy data without column headers. 2. A new right mouse menu entry ('Copy with headers') provides the ability to copy data including

column headers - Fixed bug #1450856: The "new" button has no icon - Fixed bug #1448345: Canceling "Save As... " option (overwrites file anyway) - Fixed bug #1424828: Not possible to clear Non-nullable fields using backspace - Fixed bug #1423029: Session window will not close for Postgresql - Fixed bug #1409055: Copy as HTML in results tab does not set correct mime type - Fixed bug #1403462: MS SQLServer Plugin throws NPE - Fixed bug #1401672: NullPointerException when selecting Row IDs tab - Fixed bug #1399254: Missing i18n strings - Fixed bug #1370186: SQL Editor discards changes when session is closed - Fixed bug #1385270: Dropping multiple selected tables produces exceptions - Fixed bug #1256021: Refresh item on a table showing the row number does not up date the row count - Fixed bug #1230126: ClassCastException when editing table data for tables with short and long column - Fixed bugs #1043604 and #1043599: Unlocalized decimal separator caused problem s when data was pasted for example to Open Office Calc. In the Global preferences the user is now able to chose the Java default format for floating point values or the localized form. - Fixed bug # 863673: cannot DROP TABLE - Fixed bug # 887525: When Object Tree Nodes are the selected by keystrokes the selected node is scrolled to visible. - Fixed bug # 763347: Alias and Datasource loss on crash. Files are now written to a temp file first and then renamed. - Fixed bug: In - Fixed bug: In able alias name in pta) 2.1 final ========= - Fixed bug #757354 Aliases not reordering on change: Introduced sort button in Alias window tool bar. - Fixed bug #732696: Dump application success window title and Dump application file filter. - SQuirreL is ready for internationalization. The new I18n plugin supports trans lations. Put the Plugin in your Plugin path, restart SQuirreL and open the Global Prefe rences dialog. There you'll find a new tab named I18n. Follow the instructions there. - Fixed bug #1386916 (Informix 3.0 JC3 is considered "not JDBC 2.1 compliant) Th e algorithm for detecting non-compliance incorrectly concluded non-compliance if the database doesn't support save points. - Oracle Plugin: Added access to SYS schema in the object tree for non-privilege d users since this is where the user-oriented DDL information tables and views a re located. - Fixed bug #1377304: Ant-built distributions do not preserve file permissions (Thanks to Charles Albrecht) - Fixed bug #1376981: SQL Scripts plugin fails to create table script for Axion Code Completion, the database-dependent keywords where missing code completion, columns weren't shown correctly when the same t was used different statements for different tables (Thanks to Abhishek Gu

DB. - Fixed *ugly* bug in editing SQL results: To reproduce the bug you had to have two editable SQLs for different tables. E xecute the first and edit some results. Close the result tab. Execute the second SQL. Editing o f this result would fail. The reason was that SQuirreL reuses result tabs but did not properly initialize them before reuse. Because of this editing could feel terribly instable when s ome results had been closed and SQuirreL began to reuse tabs. - Sizes of Properies and Preferences windows are restored. - Made Syntax highlighting work for: Data Types, Functions, Operators, Identifie rs, White Spaces - Fixed bug #1276957: Oracle protocol violation. - Oracle Plugin (v0.15) - If the user doesn't have the DBA privilege, then only loads the schemas in the object tree to which the user has been granted access. 2.1 rc2 ======= - Bug fix: If SQLs are saved to a file the Session window's title bar displayed an error message instead of the alias and file name. - Bug fix: If two Sessions are open and one is closed the one left open lost key bindings which means that for example arrow navigation keys don't work anymore. 2.1 rc1 ======= - Selecting a code completion with tab (instead of enter) will delete the string between the carret position and the next white space. - New Session properties to configure code completion for functions. Examples: { call myFun(<IN Integer myParam>} or plain myFun() - Fixed memory leaks. The memory panel in the status bar now tells which Session are garbage collected. Use JDK 1.5.x for better memory behavior. - Fixed several problems when reconnecting an open Session. (See menu Session -> reconnect) - Improved Exception handling and new Log panel in Status bar: SQuirreL's: exception/log handling had two problems: i. Exceptions could easily occur without being logged. ii. It was hard for users to get aware of logs. The only way was to regularly open the logs window. It is taken care now that all exceptions are logged. The user is notified that a log was produced by the new Log panel in SQuirreL's status bar. A traffic lights color of the last log is displayed on one of the Log panel's buttons. The last log color is displayed for 5 seconds and is the n turned bag to white. This allows the user to have an eye an the logs without much disturbance. The buttons of the Log panel allow the user to view the last Log and to open t

he logs window. New Memory panel in Status bar. Cleaned up SQuirreL logs Made Swingset's Aqua Look and Feel available Fixed bug: No line counter label on SQL Worksheet (opened by ctrl+n) Fixed the following Exception on Sybase when the Object tab was used: java.sql.SQLException: "..."."dbo"."..." not found (Thanks to Gupta, Abhishek) - Added "cut/copy SQL to be executed" function to the editor. Since SQuirreL kno ws the concept of SQL text without selection (from caret position between previous and next e mpty line), these functions are short hands for the usual copy and cut which only work on selected text. - Fixed deleting rows from editable SQL result and from contents tab (ArrayIndex OutOfBounds) - Fixed bug #1331445: Line comments could change SQLs. - Patch #1326472 - Oracle plugin is smarter about accessing restricted tables as an unprivileged user (Thanks to Alexander Buloichik) - Bug fix: Limited rows/SQL - hints on top of a result tab could be corrupted (f or example multi lined) because of missing HTML escaping. - Improved messaging for driver definition. - Bug fix: Driver Icon did not update when driver was changed. - Added IBM DB2 Net driver to default drivers. - The source SQL statement used to create a view is now available via the MS SQL Server plugin. - Patch #1324774 The source SQL statement used to create a view is now available via the Oracle Plugin (Thanks to Alexander Buloichik) - Added Session Property "load columns in background". This option might help pe ople who feel that the SQL editor hangs because they use databases with a lot of objects and/or use low data tra nsfer rates. - Configurable warning for JDBC API version mismatch between the JVM and JDBC dr iver - Fixed bug #1316903 (SQL Panel hangs when Ctrl-B on whitespace) - Added comment/uncomment functions to the SQL editor. - Made auto corrections and duplicate line available outside the Netbeans editor . - Bug fix: Code completion did not work when object was directly preceded by =,> or <. Example: Table1.col1=Tab... - Enabled code completion when a ' or a " is on front of the name to complete (R FE 1305802) - Fixed bug #1288519 (Postgres: editing boolean fields) - Fixed for table and tree row height for large fonts. (Thanks to Mitch Skinner) - User may define an Object tree filter through the Session Properties. Useful f or large databases. (Thanks to Oliver Jehle) 2.0 final ========= - Fix for not shown SQL result on derby DB - Right Mouse Menu on SQL result tabs (Not working on JDK 1.4 with scrollable ta bbed panes due to Bug #4465870.) Functions also available in tools popup - Session property: Limit SQL result tabs. By default limiting is switched on and set to 15 tabs. - Fixed Bug #1234642 (Missing query numbers in message panel)

- When executing a SQL batch (several SQL's separated by statement separator) in case of an error the errornous SQL is printed to the message panel. - From within the SQL Editor one can jump to the Object at cursor in the Object tree. To do so use the ctrl+B shortcut or the right mouse menu or the tools popup (c trl+T) - New Session property: 'Write SQL Execution Errors to log file'. The execution errors of an SQL statement shown in the message panel may now also be written to the squirrel-sql.log file - Fixed bug #1244287 (white space after statement) - Fixed bug #1217765 (Editing table data for tables with BIT column type) - Mnemonics for Main Tabbed Pain - Fixes in editing SQL Results: Editing didn't work when a column was in the select list twice Editing didn't work when a column was when the statement was like 'SELECT * FR OM MyTable ORDER BY MyID' - Added new Global Preference to show the plugin files being loaded in Splash Sc reen on startup

2.0rc1 ====== Most important changes: -Multiple Session Windows: User may open extra Object Tree or SQL Window -Tools popup in SQL Editor (Ctrl+T) Standard and Base installation. Standard bundled with the following Plugins (See help for further details): -Code Completion: Offers code completion the same way as modern IDEs do. -Syntax: Syntax highlighting. -Edit Extras: Auxiliary functions to work with SQL code for example formatting -Graph: Create a chart of the tables and foreign-key relationships between them -SQL Script: Generation of SQL and DDL scripts -SQL Bookmarks: Managing SQL code templates -Look and Feel: Switching the look and feel -Saving/Loading files integrated in SQuirreL's core -Selected tab and slider location on the SQL tab are remembered -Copy as SQL IN Statement function in tables -Display text reminding the user if the results of a query have been limited to X rows

1.2beta7 ======== Enhancements ------------ Arguments passed to both the shell script and the batch file will be passed on to SQuirreL. - Replace newlines with <BR> when doing a "Copy as HTML" from the results of a query. - Display text reminding the user if the results of a query have been limted to X rows. - Prompt for confirmation before closing a session. - Display the catalog in the session title. - Display a welcome screen the first time SQuirreL is run. - When sorting columns in a table use a non-case sensitive but locale aware method.

- If you close the aliases and drivers windows this is remembered when you restart SQuirreL. Bug Fixes --------- Allow for nulls when displayng Date, Time, and Tmestamp columns. - Remove <CTRL><SHIFT>L from Display Logs menu item as it is used by another menu item. - Remove the Filter option from the popup menu in the object tree as this functionality hasn't been implemented. - Bring the main window to the front when it is first displayed. Required with some JREs on Linux. - Fixed logging config argument in shell script. - Fix displaying of clob columns. The display would appear to lockup. - List Drivers button now works when a JDBC driver spans multiple jar files. - Don't list abstract classes (I.E. JDBC drivers that can't be loaded) when the List Drivers button pressed. - Allow for DB2 not returning all possible schema names. - Make sure popup dialogs aren't positioned off screen. - The data displayed within the Contents tab was lost when a session sheet was deactivated and then activated. - Use default Look and Feel for the installer as the Kunststoff Look and Feel didn't display correctly on OSX. - On Linux the $JAVA_HOME variable in the squirrel-sql.sh script was replaced with the actual value during the install which caused problems if a new version of Java was later installed. - Fix ClassCastException thrown by the parser (Gerd Wagner). - Fix Bug #981490 OutOfMemoryException partly caused by the parser (Gerd Wagner). Other ----- Allow for JDBC drivers that return null for Driver.getPropertyInfo(...) instead of an empty array. 1.2beta6 ======== Enhancements ------------ Added "Reformat XML" popup menu option to show formatted XML in a column (Gerd Wagner). - User may identify specific columns to use in WHERE clause when editing cells in table by using the "Limit cell edit WHERE clause size" entry in the Session menu (Glenn Griffin). - All tables may be printed. Use right mouse click, "print". Large tables are automatically split across multiple pages both horizontally and vertically (Glenn Griffin). - The "Session Properties"->"Format" screen has been moved to "Global Preferences"->"Data Type Controls", and many new controls have been added to adjust how specific data types are used or displayed. (Glenn Griffin) Examples: - Some DBs do not allow LONGVARCHAR to be used in the WHERE clause, so t his may now be disabled - Dates, Times and Timestamps may be displayed and entered in a user-selected format - Strings containing newlines may display the newlines as "\n" or not sh ow

them as selected by the user. Bug Fixes --------- Close metadata result sets once they are no longer required. - Fixed bug where inserting/updating and deleting rows in the SQL tab would loop (Gerd Wagner). - Fixed bug where setting the statement separator to an empty string then wouldn't allow you to change it to anything else (Gerd Wagner). - Fixed bug where minimized session windows weren't restored correctly (Gerd Wagner). - Improved Undo handing (Gerd Wagner). - Fix NullPointerException when starting an Oracle 8.1.7.4 session (Gerd Wagner). - Fix bug under Linux where sometimes the SQL history combobox would fill the entire window (Gerd Wagner). - Fix for multiple result set handling under the Cache DBMS from Intersystems (Gerd Wagner). - Fixed incorrect handling of the "log-config-file" argument (Kevin Gilpin) - Tables with many columns should now allow editing by using the "Limit cell edit WHERE clause size" session tool (Glenn Griffin). 1.2beta5 ======== Enhancements ------------ added the 'IS NULL' and 'IS NOT NULL' to the choices for operator in the Where Clause panel (Maury Hammel). - When the 'add' button is pressed to put a Where Clause construct into the text area, the 'Value' text area is cleared (Maury Hammel). - Enabled wrapping and added JScrollPanes to the Where Clause and Order By Clause text areas, so Panels behave better where large values are put in them (Maury Hammel). - You can now specify whether JDBC logging uses the deprecated output stream or the new writer (Neville Rowe). - You can now filter the catalogs displayed in the object tree (Keith Mashinter). - You can now specify whether to load schemas/catalogs in the object tree (Keith Mashinter). - You can now specify whether to load result set metadata when executing an SQL (Keith Mashinter). - You can Import/Export cell data to/from files and operate on that data with external commands (e.g. VI, etc) (Glenn Griffin) - BLOBs and CLOBs are now fully editable, as are all of the most common SQL types (Glenn Griffin). - Data that can be edited only in the Popup (ie. not in the cell) is now shown with a Cyan background to tell the user that it can be edited, but only in the Popup (Glenn Griffin). - Data containing newlines now shows the newlines explicitly in the in-cell view, i.e. as "\n" (Glenn Griffin). - User may select specific columns to use in the WHERE clause when editing a specific table. - A new row can be inserted into an empty table using the Contents tab by using the right mouse button on the (empty) panel. Bug Fixes ---------

- SQL that returns multiple result sets is now handled correctly (Neville Rowe). - Fix manifest file so the the squirrel-sql.jar file is again executable (Denis Lundberg). - Fix resource strings (Dennis Lundberg). - Do a better job of handling MS SQL server catalog names that contain periods. - Strings (VARCHAR and CLOB) fields containing newlines would loose those newlines if edited within the cell. In-cell editing of that data is now blocked (Glenn Griffin). - SQL problem with WHERE clause being too long (table has too many columns) fixed by allowing user to select specific columns to use in WHERE. Other ----- New API ISession.addToToolbar(Action action) added (Gerd Wagner). - Don't default to displaying the Contents Tab for a table. This can cause performance issues when looking at SQL Views (Gerd Wagner). 1.2beta4 ======== Enhancements ------------ Add "Get Last SQL" button to SQL entry area. - Show tooltip in sql history combo when combo collapsed. - You can now filter the schemas displayed in the object tree (Keith Mashinter). - Show the position of the caret from the SQL entry area caret in a new label in status bar. - Added a statusbar to the Help Viewer. - New session property "Abort On Error". - Data in the Popup (from double-clicking a cell in ContentsTab) is now editable (Glenn Griffin). - Data in individual cells may be imported, exported, or operated on by an external program from the Popup window (double-click on cell in ContentsTab) (Glenn Griffin). Bug Fixes -------- Fixed NullPointerException thrown by the Syntax plugin. - The title from the wrong column was used in the popup window for a columns data if the columns in the table had been resequenced (Joseph Boyd). - Allow for SQLException thrown by HSQLDB 1.7.1 on ResultSetmetaData.isSigned. - If the columns in a table were resequenced and then the data was copied to the clipboard then the column headings in the clipboard were in the wrong order (Joseph Boyd). - Entries in the catalogs dropdown are now sorted. Other ----- Move DataCache class to fw classes. - Add StringManager class to allow strings to be stored in property files rather than hardcoded. Once this is used throughout the application it will mean that SQuirreL can be internationalized. - Add jGoodies Forms library for building GUIs. - Use Apache CLI library for processing command line arguments. - New method in SQL execution listener 'allStatementsExecuting'. - New API allowing plugins to add/remove items from the status bars.

1.2beta3 ======== Enhancements ------------ Contents tab has been made the default when first displaying table in Object view (Glenn Griffin). Bug Fixes --------- Fix for selecting which SQL gets executed. When the cursor is on a line in the SQL entry that contains at least part of aan SQL statement then only that SQL statment should be executed. - Don't save duplicates in SQL history. - Only load SQL history once. 1.2beta2 ======== Enhancements ------------ Change the background of the contents tab when in "edit mode" (Glenn Griffin) - Put quotes around character data in the contents tab Filter (Maury Hammel). - Column names in the Contents Tab Filter are now sorted (Maury Hammel). - The IN operator has been added to the Contents Tab Filter (Maury Hammel). - New application setting allows you to specify whether the coloured icons are shown in toolbars (Bai Yuhong). Bug Fixes --------- Fix data corruption issue if you change the selected table in the object tree while editing data (Glenn Griffin) 1.2beta1 ======== Enhancements ------------ Enhanced the highlighting in the message panel (Victor Ott). - Can now filter the data on the Contents tab (Maury Hammel). - Add Firebird Jaybird to the list of default drivers. - Allow for bug in Opta2000 driver which limits the number of rows modified by an UPDATE statement to that specified by setMaxRows() (Gerd Wagner). - Display warnings issued by SQL connections and statements in the message panel. - Can now specify session sheets to be opened maximized. - Show as much as possible of the SQL statement in the SQL history dropdown and show it all in the tooltip. - Put focus to SQL entry area when SQL tab selected (Gerd Wagner). - The SQL separator character can now be a multiple character string (Gerd Wagner). - New application argument -useNativeLAF which will make SQuirreL use the native Look and Feel rather than the Java one.

- Data can now be maintained in the Contents tab (Glenn Griffin). - Orientation of tabs can now be specified in session properties. - Remove the plugin Help menu options and display their help in the main help window. - Display error message if no SQL selected for execution. - Cache database metadata information. - Refresh catalogs dropdown when object tree refreshed - Make Plugins Summary dialog modeless. - Allow queries to be cancelled when they are "building output". - Driver properties can now be specified on the alias. - You can now "word wrap" data in the Column Data popup window. - Text Popup menu can now be displayed in the Column Data popup window. - Show chained SQL exceptions in error dialog. - Add "Copy" menu options to the popup menu in the object tree. - Add the MySQL driver to the default list of drivers. Update the jTDS URL for the latest version of jTDS (Dennis Lundberg). - You can now specify that an Alias will connect when SQuirreL starts up. - Allow user to define an Alias to logon automatically without prompting for user and password (Gerd Wagner). - Allow user to store a password in the Alias definition (Gerd Wagner). - You can now display only loaded JDBC drivers in the Drivers list. - You can now limit the size of the SQL history combobox. - Allow SQL history to be persistent and shareable between different sessions (Lynn Pye). - Added Next and Previous Session commands to the menu system (Gerd Wagner). - Do a better job of handling schemas and/or catalogs when building the object tree for DBMS's/drivers that misreport catalog/schema information (Gerd Wagner). - Allow for multiple result sets returned from an SQL statement. - Add "Goto Next Result Tab" and "Goto Previous Result Tab" options to Session menu. - Remember the selected alias and driver between restarts. - Added SQL execution statistics to the Info tab on the SQL output panel. - Better positioning of the Column Details popup (Maury Hammel) - Added JavaDoc target to build file (Johnathan James). - When clearing the message panel the background is reset to white (Maury Hammel). - Display column header as a tooltip if the table column isn't wide enough to display it (Stephen Straub). - Add the ability to "Tile Vertically" and "Tile Horizontally" (Rick Strickland). Bug Fixes --------- Show all errors in the driver maintenance dialog. - Fix to be able to display data in PostgreSQL UDT columns. - Fix for single character separator at end of line/document - Fix NullPointer exception when updating caret position in statusbar. - Clear all metadata result sets when finished with them. - Default catalogs dropdown to the correct catalog when session opened. - Remove Clear option from standard text popup menu. - Retrieve time as well as date for Oracle Date type columns. - Hide password contents on Proxy settings panel. - Put correct default port in the MM MySQL driver (Dennis Lundberg). - Allow for drivers that return null for getTableTypes(). - Clear data in output tabs before writing. This stops the problem of seeing data related to the previously selected object in the object

tree if you are not authorised to the newly selected object in the tree. - Fix bug where sorting by clicking in the column header for a table wouldn't work correctly when the columns had been resequenced by dragging (Johnathan James). Other ----- Use smaller icons to indicate sort sequence in tables. - Cleanup handling of the SQL entry area. - No longer print error message in the log if a JDBC driver isn't available. 1.1final1 ======== Bug Fixes --------- Fix for error when displaying catalogs/schemas when using jTDS 4 and above. - Fix column privileges for MySQL. 1.1final ======== Enhancements ------------ Allow retrieval of all data types from SQL results. - Allow for JDBC drivers that return null for DatabaseMetaData.getTableTypes(). Bug Fixes --------- Fix bug where the "Start of Line Comment" characters weren't recognized when executing multiple SQL statements. - When the "ResultSet Output Type" is changed for a session don't attempt to change the output type for existing ResultSet output panels in that session. - When "New Session" settings are changed don't change settings for existing sessions. 1.1rc2 ====== Enhancements ------------ Add default catalog selection to popup menu - Add plugin class path to application dump. - Allow for some drivers that don't return 'guest' as a schema for Microsoft SQL and Sybase. - Catalogs and Schemas tabs added to the session node. - Catalogs and schemas added to session dump. - Drivers and Aliases windows can now be closed.

Bug Fixes --------- Fix shell script to work with Cygwin. - Fix NullPointerException when changing output type for result sets in New Session Properties dialog. - Fix Copy cmd in tables so that if only a single column selected it doesn't put all the rows on one line. - Make tree node refresh work. - Fix line wrapping in multiple line labels. - Allow for spaces in %CLASSPATH% in squirrel-sql.bat (again). - Save and restore current catalog, transaction isolation and auto-commit settings when executing the Session/Reconnect commmand. 1.1rc1 ====== Enhancements ------------ Information windows (such as Help) can now be moved outside of the main window. - Add home toolbar button to the HTML Viewer. - Fix Refresh in HtmlViewer. - Change icons for commit/rollback. The old icons were too similar and confused people. - Add Proxy settings to Application Preferences. - Add file sizes into SQuirreL Logs dropdown. - Sort the driver names in dropdown box in a case-insensitive manner. - Make all windows resizeable. - Add Refresh button to HTLM Viewer toolbar. - Add FAQ to the Help menu. - Added "Install Default Drivers" menu option which will copy driver definitions from the default drivers file to the drivers list. - Add SAPDB, DB2 and PointBase to default drivers. - Add HSQL to list of default drivers (Glenn Griffin). - Cleanup example URLs for many of the default drivers (Glenn Griffin). - Add toolbar to HTML Viewer with back, forward and close buttons. - Documentation updated. - Allow Squirrel to be run from directories other than the current directory (Tim Shadel). - Treat Types.OTHER columns as strings when displaying data. - Add plugins location to plugin summary dialog. - Add plugins location to application dump. - Create Windows shortcut in installer. - Make shell script executable in installer. - Add icons for program shortcuts (Greg Mackness). - Add an icon to the main window (Greg Mackness). - The name of the item selected in the object tree will be displayed in the statusbar. - Remove unnecessary borders on UI components. - Add jTDS to list of default drivers. - The "Start of line comment" characters can now be specified in preferences instead of just using '--'.

Bug Fixes --------- Reload Metal Look and Feel when first loading SQuirreL so that the "Blue" theme is used. - Position focus to the text area when first displaying the HTML viewer window. - Stop driver maintenance window from resizing when jars added/removed. - Improve error handling when loading drivers and aliases. - Incorrect error message was displayed in View Help command (Glenn Griffin). - Fix Nullpointer exception in HTML viewer under JDK1.3. - CLOB/BLOB columns weren't handled correctly on metadata and Content tabs. - The line/column number displayed for the SQL entry area now starts from 1,1 not 0,0 - Make multiple line label use the same font as static text controls not editable text controls. - Links in the Help file now work (Victor Ott). - Fix deadlock when viewing logs. - Add missing "contributors" file for About Box. Plugin API ---------- Move metadata methods to metadata classes. Other ----- Add build directory to source distribution. - Don't display icons in menus. - Cleanup ResultSetMetaData handling. - Make the installation window resizeable. 1.1beta6 ======== Enhancements ------------ Run View Logs in a thread. - Doubleclick in the memory status panel will now run garbage collection. - Add Mckoi and Think SQL drivers to the default drivers. - Add menu item allowing reconnection to the database. - Add a "Row Count" tab to the Tables tabbed folder. - Add a "Status" tab to the database node in the object tree. - Can now select directories as well as jars in the extra class path tab in driver maintenance. - Errors are now displayed in the sessions message panel in red (Victor Ott). - Rewrite of the object tree code. - Show both schemas and catalogs in the object tree for databases that support both. - Added "Help", "Change Log" and "Licence" options to Help menu for SQuirreL and for plugins. - Documentation updated. - Allow for errors in ResultSet.getBoolean() implementation. - Axion and Mimer added to default drivers - Added "Dump Application" and "Dump Session" options to menus to aid in debugging issues with different drivers and databases.

Bug Fixes --------- Fix bug where closing the "New Session" properties dialog would make the object tree tabbed panel change back to the first tab. - Fix "too tall" About Box under the first beta of JDK1.4.1 - When output type (text or table) is changed all existing panels are now update d. - Expand first level of object tree for JDBC/ODBC bridge when session first started. - Handle sorting by different data types in tables. - Fix XMLBeanWriter to transparently handle arrays of strings. - Fix error handling in data types display. Plugin API ---------- Add ability to - Move APIs from - Add API to add - Add API to add - Add API to add 1.1beta5 ======== Enhancements ------------ Added keyboard accelerators to "Close all SQL Result Tabs" and "Close all SQL Result Windows" menu options. - Display more information about the executing query on the execution panel. - Split query execution times into "sql execution" and "building - Add handling of blob, clob, binary, varbinary and longvarbinary columns. - Allow for some combinations of the JDBC/ODBC bridge and MSSQL that give duplicate table types from the database metadata. - Add "Close Session" option to Session menu. - Add "View Logs" item to the Windows menu. - Set maximum allowed width for the Window menu. - Added Sunopsis XML JDBC driver and Microsoft MSSQL JDBC driver (Ken Arway) to default drivers. - Display session name in Session Properties Dialog to differentiate it from another sessions dialog. - Log any error other than an SQL error to the logger when user executes SQL. - Consolidated the plethora of "meta data" output type settings into a single setting. - Main window toolbar is now floatable. - Using icons from the Eclipse (http://www.eclipse.org) project. Bug Fixes --------- Fix bug where changing "autocommit" during a session wasn't recognized. - Limit rows checkbox wasn't updated when session properties changed. - Fix incorrect row count in Info tab for a table. - Add error handling to result set metadata displays. - Don't show closed property dialogs in Windows menu. - Directory list combo boxes now only show required file types.

load jars in a plugins lib directory. ISession to their own classes. nodes to the object tree. tabs to the object tree details panel. options to the object tree popup menu.

Fix option in Windows batch file not to show command window. Show decimal positions in column data when required. Show <null> when column data is null instead of an empty string. Fixed metadata problems with the JDBC/ODBC bridge.

1.1beta4 ======== Bug Fixes --------- Correctly size the java Classpath listbox. - Indicate whether driver can be loaded whenever the driver classpath is changed - Add missing batch file (addpath.bat) to distribution. 1.1beta3 ======== Enhancements ------------ Add Sybase drivers to list of default drivers. - Windows batch file now uses Java in %JAVAHOME% if it is defined else uses the current path. - Windows batch file now loads all jars from /lib directory. - Unix shell script now uses Java in $JAVAHOME if it is defined else uses the current path (Sergio Ballestrero). - Unix shell script now loads all jars from /lib directory (Sergio Ballestrero) - Commit/Rollback options added to the session menu. - Session Sheet can show/hide its toolbar. - Aliases and Drivers can show/hide their toolbars. - Aliases and Drivers windows can now be resized. - The toolbar in the main window can now be hidden. - Multiple jars can now be specified for an SQL driver. - You can now search a jar in the classpath for a JDBC driver. - Row count is only shown on the Table Info tab if "Show Row Count" is specified in session properties. - New "Refresh Row Count" button on the Table Information tab. - Updated to use Apache log4j 1.2. - The log file is now rotated. - Log files are now written to the logs subirectory within user home. - When resizing a session window the SQL results now gets any extra space. - Error Dialog controls have better sizing. - The default Metal Look and Feel now has a blue theme (Karsten Lentzsch) - Error message dialog can now show the stack trace if available. - New status bar in main window. - SQL settings moved from the General tab in the Global Preferences dialog to its own SQL tab. - Nullable, Searchable and boolean columns in Data Types display now show meaningful text. - The squirrel-sql.jar file is now executable. - Function and keyword lists moved out of the main metadata tab and placed in their own tabs (David MacLean). - The DATA_TYPE column in the metadata tab now has a descriptive entry as well as the numeric code (David MacLean). - Now shows catalogs in object tree for more DBMS's. - Can now select the current catalog via a dropdown for those DBMS's that support catalogs. - Now shows table hierarchies if the JDBC driver supports them (Henner Zeller).

Bug Fixes --------- Show main window scrollbars at startup if tool windows are offscreen. - Don't show error dialog until it is properly positioned. - All SQL statements now get saved into the history. - Load images correctly in framework classes. - Use correct background color in Splash Screen and About Box to match the graphic. 1.1beta2 ======== Bug Fixes --------- Windows batch file now allows for spaces in the classpath (Bruno Haas). - Windows batch file now passes the -classic flag to the VM to stop plugins looking for files in the "Colin Bell" or "Johan Compagner" directories instead of the plugins private directory. - "Torn off" SQL results windows are now closed when the session is closed. - Unix shell script now has correct line terminators. - QueryTokenizer improperly parsed strings with quotes on multiple lines and caused SQLException (Todd Larsen). - Application Settings dialog now has a more sensible width under JDK1.4. - If no alises defined then the Alises dropdown has a sensible width under JDK1.4. - If Aliases dropdown is empty when adding the first one to it then make the new one the selected one. - When adding aliases/drivers then select the newly added one in the list. - When deleting aliases/drivers then ensure that another one selected in the list. - longvarchars will now be displayed instead of <null> (Johan Compagner) - JDBC drivers reloaded when they have been modified through the maintenance window. - Keeping the state when refreshing the tree works now (Johan Compagner) Enhancements ------------ Now showing all columns in meta data displays. - Drop table menu item on the ObjectTree (Johan Compagner) - Full column data can be displayed in a popup window if you double click on it (Johan Compagner) - If only one cell selected in table when pressing copy then no header will be appended. (Johan Compagner) - Icon shown for drivers that are loaded or not (Johan Compagner/Henner Zeller) - TableSorting by clicking column headers (Johan Compagner) - Escape now cancels Connection Dialog. Other ----- Licence for the client application changed from GPL to LGPL. - JDK1.4 specific code now called through reflection so application can be compiled using JDK1.3. 1.1beta1 ======== - Plugin architecture added.

- Now under JDK1.4 have option to scroll tabbed pane tabs rather than wrap them. - Look and Feel functionality moved to a plugin. - The results of queries can be displayed in multiple tabs and these tabs can be "torn off" (Johan Compagner). - Can now enter execute multiple SQL statements (Johan Compagner). - The message panel is now resizable (Johan Compagner). - New "Info" tab on SQL query results. - No longer try to load blob fields from SQL Result set. - View SQL data entry caret line/column in status bar - Removed control characters from SQL Result tab headings. - The characters -- at the beginning of a line of SQL will turn it into a commen t. - Properties windows are now modeless. - Driver and Alias maintenance windows are now modeless. - Aliaes and Drivers tool window now resized when Look and Feel changed (if requ ired). - Now displaying SQL Error Code and State when an SQL error occurs. - Can now select the Font for the SQL entry area. - New "Show Native SQL" item in Session menu. - "New Session" options moved from Global Prefernces dialog to new Session Prope rties dialog. - New options on the session menu - Close all result tabs and close all Result w indows. - New option on the Windows menu - Close all sessions. - Bring aliases/driver window to front if action requested. - New application argument -noplugins which will run SQuirreL without any plugins being loaded. - Undo/redo support now added to the SQL entry area (Johan Compagner). - Copying SQL results now includes the column headings (Johan Compagner). - New "Copy as HTML" option for SQL results (Johan Compagner). - Bug fixed in About Box where the thread that updates the memory status continued updating when the About Box was not being displayed. - Dialogs have been cleaned up. - Apache log4j is used for the logging subsystem. - JDBC debug can be specified in the global preferences. - New application argument allows you to override the user settings directory. E.G. -settingsdir=c:\my-squirrel-settings - Stored proc column information now available. - Connection window is now modeless. - SQL execution and object tree expansion now run in a separate thread so that the user interface is still responsive (Johan Compagner). - Row count is now available on the Info tab for a table. - Meta data is available for the results of SQL execution. - Replaced the JDOM library with NanoXML. 1.0 final2 =============================== Bug Fixes --------- Put up a new splash screen that worked with JDK1.4 The following fixes were actually done in 1.0final1 but I forget to update this file. - Removed wrong path separator used in the install script for <instdir>\plugins\lafs and <instdir>\plugins\skins which didn't work under Unix.

- Got working with Sybase/jConnect. 1.0 final =============================== Bug Fixes ------------ Handle gracefully the errors caused by JDBC drivers that require a more recent version of the JDK than the one that Squirrel SQL is being run on. - Popup menus are now correctly positioned under JDK1.2 Enhancements ------------ I'm now using the IzPack Java installer from http://www.izforge.com/izpack - Thanks to Greg Mackness, Squirrel SQL now has a decent splash screen. 1.0 beta7 =============================== Bug Fixes ------------ Allow for AbstractMethodErrors in DatabaseMetaData function calls. - Allow for null ResultSet objects to be returned from DatabaseMetaData function calls. Enhancements ------------ Add edit popup menu to tablular output. - Make main window area scrollable. - Now uses version 1.1 of the Skin Look and Feel. - Added PostgreSQL JDBC Driver to default drivers file. Changes ------- A lot of code cleanup. 1.0 beta6 =============================== Bug Fixes ------------ New sessions didn't take into account the "SQL Limit Rows" setting from the "New Session" Application Settings tab. It always defaulted to true. - The hourglass cursor was shown after the main window was created. - If the preferences positioned the main window (or aliases/drivers tool windows) to a position on the screen only visible under a high resolution (EG 1024X768) and you then changed the display resolution to one under which the window could not be seen then when Squirrel-SQL was started the window could not be seen. - If you tried to maintain a driver with a Driver JAR file that didn't exist an error dialog that couldn't be dismissed was displayed. - Errors that occured for metadata information (such as data types) didn't always display in the message area. - Errors in SQL Driver Maintenance weren't always displayed.

- If invalid data for the data type in a column (E.G. blanks in a numeric) were found in metadata information (such as data types) then no further information was displayed. Enhancements ------------ User name now displayed in the title for a session window. - Logging is now done to a text file (squirrel-sql.log) in the user perferences directory instead of to standard output. - You can now drop a Look and Feel implementation (see www.javatoo.com for examples of Look and Feel implementations) into the /plugins/lafs directory within the application directory and have it selectable from the "Look and Feel" dropdown on the General tab of the Global Preferences dialog. Changes ------- Global Preferences option is now on the File menu. 1.0 beta5 =============================== Bug Fixes ------------ If a connection failed to open the error wasn't always displayed. - If an image couldn't be found for an Action the application wouldn't load. - Changing the class name of a driver wouldn't always take effect until Squirrel-SQL was restarted. - The session properties dialog is now correctly positioned on screen. - The Class Loader used for the JDBC drivers wasn't searching for classes correctly. Enhancements ------------ The number of rows in a table can be displayed in the object tree. This is controlled by a new session setting. - The Aliases and Drivers lists are now in their own windows. - A "Connect To" dropdown has been added to the toolbar. - The SQL tab in the Application Preferences dialog has been split into two tabs; global settings that apply to all open sessions and a Default tab that applies to new sessions. - If the Look and Feel is changed it is not shown until the application is restarted. Not all components are rendered correctly if the Look and Feel is changed on the fly. - The System Status dialog has been merged with the About Box. - New global property - Show Tooltips. 1.0 beta4 =============================== Bug Fixes --------- When changing an existing alias the default URL from the driver was displayed rather than the URL associated with the alias. - Resolved inconsistent handling of catalogs and schemas. Enhancements ------------

- Now supports Skin Look and Feel Themes from http://www.L2FProd.com. - Merged the Driver Class dropdown and text field on the Driver Maintenance dialog into one dropdown control. - Drivers dropdown in Alias Maintenance dialog is now sorted. 1.0 beta3 =============================== Bug Fixes --------- Only issue rollback/commit when closing a session if AutoCommit is false. - Fixed bug where incorrect alias/driver selected in listbox if an alias/driver had its name changed or one was deleted. Changes ------- JDBC driver jar files can now be specified dynamically. - Can now specify commit/rollback when closing session. Previously defaulted to rollback. - Added UDT information to object tree. - If text is selected in the SQL entry field then only that text is executed as SQL. - Width of the panel holding the aliases and drivers is now saved and restored. - Display the name of the driver in the connection dialog rather than the class name of the driver. - Added MMMySQL JDBC Driver to default drivers file. - Row type output (such as the metadata or the SQL results panels) now defaults to a JTable instead of the text output. - Doubleclicking in drivers listbox will maintain the currently selected driver. - Doubleclicking in aliases listbox will open the currently selected alias. - Added Commit and Rollback menu and toolbar options. 1.0 beta2 =============================== - Modified to allow for DBMS's that don't support either catalogues or schemas. - Modified to get around issue with InstantDB (3.13) returning "TABLES" for MetaData.getTableTypes instead of "TABLE" and "SYSTEM TABLE". - Added InstantDB Driver to default drivers file. - When retrieving information about a tables privileges an incorrect index into a resultset was being used. - When lines were added to the message panel no new line character was added to the end of a line. - Fixed bug where only SQL statements that generated a ResultSet were written to the history dropdown. - Added System Status dialog to the Help menu. - Fixed Cascade option on Windows menu. 1.0beta1 =============================== - First beta release.

Вам также может понравиться