Caché Monitor

Caché Monitor is a Java based development tool for Intersystems database Caché.
Requires Java 1.7: http://www.oracle.com/technetwork/java/javase/downloads/index.html

You can start Cache Monitor by doubleclicking the jar file, or by typing at your console window: "javaw -jar CacheMonitor.jar"

You have questions, ideas?
eMail: support@cachemonitor.de
Web  : http://www.cachemonitor.de

Changelog:
V 2.62:
   - FIXED: No function for Ok\Cancel Buttons on the edit server dialog

V 2.61:
   - ENH  : Memory usage optimized. Tab close handling improved, Memory was not always released while closing tabs
   - ENH  : All meta data can be scripted to a CREATE TABLE script, e.g. execute a stored procedure and create a script for a table from that meta data
   - ENH  : Query Analyzer : New (context) menu function "clear messages" on message tab
   - ENH  : Query Analyzer : New function "Auto clear messages", if checked (default) the old message are deleted
   - ENH  : With a new paramter in config.properites quoting column name for scripting can be configured. The default is sql.scripting.quotealways=false, set it to true to quote all columns names

V 2.60:
   - FIXED: Open SQL Files from script manager sometimes ends up with damaged UI
   - ENH  : Server Navigator shows columns for Views\Tables in tree
   - ENH  : New driver version for Caché 2014.1.1.702 uploaded
   - ENH  : New meta data info panel on server node, available via conext menu on server node "Show server metadata..."
   - ENH  : Global Browser: Support of $LB format and split values accordingly
   - ENH  : Global Browser: Enhanced loading speed.
   - ENH  : Stored Procedure Viewer: Shows more details about the resulttype of a SP, like Columns and infos about IN\OUT\INOUT params
   - ENH  : Stored Procedure Viewer: Via context menu a CALL Statement for SP can be created with parameter and more. This "script" is opened in a query editor for execution.
   - ENH  : Show execution plan first checks whether the server side class exists, regardless of the setting "create server side helper classes".
            If the class doesn't exists and the setting "create server side helper classes" is disabled, viewing the execution plan is stopped.
            If the class exists and the setting "create server side helper classes" is disabled, viewing the execution plan is processed.
   - ENH  : Grid: On all grids the metadata of a result is available via context menu "Show Metadata"
   - ENH  : Grid: More copy functions via context menu "Copy selected", "as Text", "as SQL Update", "as SQL Insert", "as SQL Delete"

V 2.59:
   - ENH  : New functions in Server Navigator: 'Send Server by email' and 'Add Server by email'
            With this new feature it is very easy to send and receive registration data via email.
   - FIXED: Start a evaluation of Caché Monitor is available again on register 'Request a trail'

V 2.58:
   - ENH  : The export bulk wizard open destination folder after the export job has ended
   - ENH  : Record dialog shows required fields (NOT NULLABLE) in red
   - ENH  : Export to different formats improved, like export to Microsoft Excel (97-2003); Excel Workbook (XLSX); HTML; JSON; OpenDocument; SQL; XML
   - ENH  : Rename Caché connection import function from "Auto register Caché Server" to "Import Caché connections"
   - ENH  : New Function: "Import Caché ODBC connections"
   - ENH  : New Icon! :-) A new symbol for Caché Monitor
   - ENH  : New context menu "Save result and open..." on all UI grids available. This will open the file with the associated application.
   - FIXED: Switch between database tables refresh the title
   - FIXED: Unnecessary server roundtrips removed while switching between database tables
   - FIXED: TableViewer : Refresh in context menu fixed
   - FIXED: TableViewer : New context menu "open in new tab", this function is also available via double click on a DB Table\DB View node
   - ENH  : "Don't use %SYS namespace" renamed to "Don't query Caché for namespaces"

V 2.57:
   - FIXED: The data in Data Inspector refreshs after selecting a NULL Value
   - ENH  : CLOB\BLOB Handling in Table and in Viewer improved. New CLOB\BLOB Edit Window from Table and in Recorddialog available.
   - FIXED: New Record dialog fixed. On some installations the dialog can't be opened.
   - FIXED: The new entered table name is used via Copy Table action
   - FIXED: Some table context menus hasn't worked properly if called from tree
   - ENH  : If the DataInspector is visible the value of selected cell is autom. displayed
   - FIXED: NULL Value marker fixed
   - ENH  : The menu entry: "SELECT first 1000 rows" execute the query immediately

V 2.56:
   - ENH  : New feature  : "Don't use %SYS Namespace" for User with limited access to the SYS Namespace. If this is checked for a server no functions are available that are based on %SYS
   - ENH  : The query for namespaces dond't need access to the "%SYS" namespace.
   - ENH  : Class Browser : For Caché >= 2014.1 the same Sourcecode as in Studio is listed.
   - FIXED: Global Browser: Recognize node subsripts type (numeric\alphanumeric) improved
   - ENH  : Global Browser: Icons added to visualize different node types, e.g. root, last node ...
   - ENH  : Root group can be renamed
   - FIXED: Rename a group\server refreshs the tree on server navigator
   - ENH  : New Record dialog is available. This dialog shows columns in rows. Each Grid in Caché Monitor can open this Record Dialog via context menu.
   - ENH  : TableViewer : The new 'Storage' Tab list the storage information about a table, like global name and global size
   - ENH  : Number format can be changed in config file, e.g. by default format.number=####.########
            But Caché Monitor do always format based on the decimal digits definition on the column meta data
            If you dont want to format than select format.number=UNFORMATTED
   - ENH  : Workspace seetings are saved on exit an reload on startup. So CM remember on the window position and state (docked\undocked).

V 2.55:
   - ENH  : Support of Java 8
   - ENH  : TableViewer : Tables\Views are grouped by schemas
   - ENH  : TableViewer : Prefetch of meta data to improve performance\minimize user waits (metadata.prefetch=true)
   - ENH  : TableViewer : Empty schema will not be displayed by default (metadata.removeEmptySchemas=true)
   - ENH  : Query Analyzer : Schema ComboBox removed, CodeCompltion work on all schemas by default
   - ENH  : Query Analyzer : Some code completion improvements for column lists
   - ENH  : "Sources" node works with more Caché versions
   - FIXED: Error while driver download via transparent proxy: java.net.ProtocolException: Server redirected too many times (20)
   - FIXED: Source-, Class- and GlobalViewer shows the item count on registertitle and in tree

V 2.54:
   - FIXED: ArrayIndexOutOfBounds Exception
   - ENH  : Open current class in Caché Studio
   - ENH  : The Caché Studio version that is called via Caché Monitor is selectable
   - ENH  : Some code completion improvements:
                More Caché keywords in completion and coloring
                Some code completion display additional information for keywords and functions
                Icons visualize the completion type e.g. Table, Column, Schema, Index etc
                Type column shows the primary key, datatype and nullable property
                Optimizer hints are listed with additional information
                Caché SQL functions are listed
   - ENH  : New Driver Version:	2014.1.0.591
   - FIXED: Disconnect a server close all sub panels
   - FIXED: License management improved

V 2.53:
   - ENH  : New Bulk Export Dialog allows to save current- and load previos selections of Tables
   - ENH  : Install license process improved; license is also now visible in about dialog
   - ENH  : Server Navigator: The server version number can be viewed in Server Navigator tree. This is toggled via Menu "Show version".
   - ENH  : TableViewer: New context popup menu entry: "SELECT first 1000 rows"
   - ENH  : TableViewer: New context popup menu entries: "Script Table as "SELECT", "INSERT", "CREATE"
   - FIXED: "Sources" node works with Caché databases prior version 2013

V 2.51:
   - ENH  : Database Diagrams: More key constraints are be determined and visualized in diagram
   - ENH  : Database Diagrams: Exported keys are marked with special icon
   - ENH  : Table Browser - List imported\exported keys on new tab called "References"

V 2.50:
   - ENH  : New polished Interface design. For a clear and consistence user interface design many icons are changed and checked for a consistency use.
            Some menus renamed so e.g. the "New Query Analyzer" menu is renamed to "New Query" also with a new icon for this action.
            Also the application icon is changed from a server magnifying glass with to a blue cube.

   - ENH  : New! Database Diagrams
            Database diagrams graphically show the structure of the database. To visualize a database, you can create one or more diagrams illustrating some or all of the tables, columns, keys, and relationships in it.
            For any database, you can create as many database diagrams as you like; each database table can appear on any number of diagrams.
            Each database diagram you create is stored in the associated database.

            The first time you click on the Database Diagrams folder of a database, you ask to "Create required objects to manage diagrams in this namespace?".
            It is not an error, but just a permission seeking dialog to create a database table that is necessary to work with database diagrams.
            If you choose No then no table will be created and you will not be able to work with database diagrams.
            If you choose Yes then a table would be created in your database and you will be able to work with database diagrams.

            If you modify any table outside the diagram editor, the changes will automatically be updated in any saved diagrams.

            You can open database diagrams to view or edit the diagram's structure. To open a database diagram in Server Navigator, expand the Database Diagrams folder.
            Click the name of the database diagram you want to open.

            You can create an image of a Database Diagram and copy it to another application. To copy a diagram image to the Clipboard open a Database Diagram.
            Right-click a blank area and choose Copy Diagram to Clipboard.

   - ENH  : Query Analyzer : CTRL+ENTER for execute query in
   - FIXED: Optimized table column width for data
   - ENH  : Class Navigator : Classes source code is now in xml
   - ENH  : Table Navigator : double click on a table in tree opens a new Table Editor for the selected table
   - ENH  : The "Routines" node is renamed to "Sources" because in the future all sourcecode with hin cache will be available from here.
   - ENH  : Faster scrolling in tables

V 2.09:
   - FIXED: Processlist : On a Caché 2014.1 Server selecting a process and view details like variables ended with a java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
   - FIXED: Navigation between Processlist and Lock Viewer improved
   - ENH  : Global Browser : Nodes to read can be limited by setting a max nodes value.

V 2.08:
   - ENH  : Routine Browser : Routine List and Sourcecode for selected routines are displayed.
   - ENH  : Class Browser   : Shows Sourcecode fragment for selected class.
   - ENH  : Global Browser  : Global browse and navigate are improved
   - ENH  : Caché 2014.1 support
   - ENH  : Analyze and find local installed Caché Server improved

   - FIXED: Login Dialog    : If user or pwd empty the Login Dialog is displayed for user input

V 2.07:
   - ENH  : Server Navigator: Driver download is cancelable via progress dialog
   - ENH  : Class Navigator : Selection of target folder for classes export is available
   - ENH  : Class Navigator : Class delete need to be confirmed by user
   - ENH  : Class Navigator : New function: Import classes (incl. auto compile)
   - ENH  : Class Navigator : New function: Copy classes (incl. auto compile) between server \ namespaces
   - ENH  : Class Navigator : New function: Compile class
   - ENH  : Table Navigator : Export Table works now also on a selected table node within Server Navigator. Before this
                              the user have to select a export table on the detail panel.
   - ENH  : Tested with Java 1.7.0_45
   - ENH  : License Evaluation\Activation: Proxy Server can be configured
   - ENH  : New Feature: Log File Manager
   - ENH  : Script Navigator : Threading issue while file preview fixed

V 2.06:
   - ENH  : Drag&Drop for Server and Server-Groups moving within the server navigator
   - ENH  : Server Navigator with a toolbar to shows important actions
   - ENH  : A trial license for evaluation of Caché Monitor Professinal can now requested online via Manage-License Dialog.
   - ENH  : New Script Navigator for easy working and navigation with many (sql)scripts.
   - ENH  : Query Analyzer - shows file path from current file in status bar

V 2.05:
   - ENH  : Data Inspector shows Data in additional views as XML and HTML. Just plain text, binary or a image views was already available
   - ENH  : double click on table cell open the data inspector view
   - ENH  : The "Database Viewer" shows information about the databases on the selected Server. This Viewer is a new node type in Server
            Navigator as a child node from the Managment node.
            Listet are information about the Database name, the Location of the CACHE.DAT file and Size of the database in megabytes
   - ENH  : Export classes

V 2.04:
   - ENH  : FileOpen-Dialog restore last used directory
   - ENH  : FileOpen-Dialog shows preview of file content
   - ENH  : Query Analyzer - Save\restore splitter position
   - ENH  : The cache.cpf file can be viewed for selected server
              Check Tools-Menu -> "View Server cpf file ..."
   - ENH  : Table Browser  - Save\restore splitter position
   - ENH  : Query Analyzer - Search\Replace and Goto Line Dialog
   - ENH  : Caché Monitor checks on startup for available updates

V 2.03:
   - ENH  : Encypted passwords
   - ENH  : Open Cache Terminal on selected Server
   - ENH  : Open Windows-Explorer on Caché Monitor homefolder
   - ENH  : Auto driver download
   - ENH  : Include Caché 2013.1 driver support
   - ENH  : Code folding in SQL Editor between the batch seperator GO
   - ENH  : Save\restore frame size and position

V 2.02:
   - ENH  : Hex View improved
   - ENH  : New feature: "Navigate to last selected object"
            Please see: Start Screen
   - ENH  : Rename Server Groups
   - ENH  : The tablename for "Copy table" action can be changed
   - ENH  : New feature: "Auto register Caché Server"
               Check Tools-Menu -> "Auto register Caché Server ..."
            With this feature you can very straightforward create a Server registration from any your local Caché installation.
            All data that Caché Monitor needs for working with Caché are automatically imported,
            including the right driver... you have just to enter the password.

   - ENH  : Class Browser shows no more system classes ('%')
   - ENH  : New feature: Open Caché Studio from Caché Monitor on selected Server
            Check context menu on Server and Tools-Menu
   - ENH  : New Feature: "mapped tables" and "federated namespace"
            With this version you can write sql queries across namespaces! ... ok in fact you cannot ;-) but Caché Monitor
            support this request with a the idea of a "federated namespace". I got quite some people asking for an option
            to query some tables from different namespaces on sql statement. Rather than doing some obscure SQL pre-parsing trickery
            I will introduce a way of mapping tables from different namespaces into a new virtual/federated namespace,
            a unified namespace, lets call it a "federated namespace".

            How does this work? Caché Monitor creates copies of the meta data in the federated namespace and use the Extended Global Reference to map
            the data. All this on done automatically.

            The function in Caché Monitor is called "Create mapped table".
            To try this feature I recommend to create a new empty Namespace (and database for this namespace), e.g. called "CM_FEDERATED" as the federated namespace.
            All tables you want to JOIN in a query must be "mapped" in this namespace. "mapped" means that only the meta data of the tables are
            copied into the federated namespace, the data remains in their original namespace.

            To do this, open up your "source" namespaces one by one and select the individual tables in TableViewer (select "tables" in server navigator to open),
            right click on the selection and choose "Create mapped table". You get asked about the destination namespace,
            choose the federated namespace and all done! You can now connect to the federated namespace e.g. via Query Analyzer and query your tables.

            !!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!

                Please be careful if you execute a "DROP TABLE" or just delete operations on a "mapped table", the original data will be deleted!!

                Hint: To remove a table (class) from the federated Namepace, just delete die class! Do not execute a drop table!

            !!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!-!!WARNING!!

            Read more about Extended Global Reference an how it works:
            http://docs.intersystems.com/cache52/csp/docbook/DocBook.UI.Page.cls?KEY=GGBL_structure#GGBL_str_extrefs

            There are some restrictions in this version:
            - DefaultStorage is required for mapped tables
            - The table name has to be unique in the federated namespace

   - FIXED: RoutineList fixed
   - FIXED: Driver selection fixed

V 2.01:
   - ENH  : Query Analyzer - better clear type\font support
   - ENH  : Query Analyzer - Completion improved
   - ENH  : Minimum SplitterSize removed
   - ENH  : DataInspector shows Images
   - ENH  : Import with Blob improved
   - FIXED: Some Edition checks changed
   - FIXED: Table scripting don't quote table name


V 2.00:
   The biggest change first: Now there are different editions of Caché Monitor, e.g. a free community edition
   called "Home" and two commercial editions.

   The differences between these editions in detail:

            Home Edition         : Support only 1 connection in the Server Navigator to a Caché Server
                                   on the same maschine (localhost)

            Developer Edition    : Supports until 3 Server in the Server Navigator

            Professional Edition : Supports unlimited Server in the Server Navigator

   - ENH  : Kill Database locks within Caché Monitor
   - FIXED: Bug in script parser prevent executing create\drop procedure.
            When creating a stored procedure it is necessary to use a delimiter other than the semicolon because
            Cache Monitor does not know if a semicolon inside the stored procedure ends the procedure or a single
            statement inside the procedure. Because of that, the Statment seperator is now "GO" like in MS SQL Server
            Management Studio.

            FIX 1: if you now select a statment the parser is no longer executed,
                   just the selected statement is "as is" send to Caché.
            FIX 2: Cache Monitor has switched (back) to statement separator "GO"!

   - FIXED: F7 shortcut for execute the next statement fixed
   - ENH  : New message are always in top row of the message panel
   - ENH  : Connection Dialog shows information about WebSrvUrl that comes from Caché Server
   - ENH  : Server Navigator: New feature for sorting Server and Groups
          : Server Navigator: Sort order changed: Server comes before Groups in Server Navigator
   - FIXED: Cancel login dialog reset message and stops wait bar
   - ENH  : tested with java 1.7.0_15
   - FIXED: Copy Server create only one copy of server entry
   - ENH  : While deleting a group the user get ask, if the Group contains sub groups or servers
   - ENH  : Textoutput in QueryAnalyzer is optimized and show content only up to 255 characters!
            For more content please use Grid output
   - FIXED: All results (ResultSets) from a StoredProcedure are now listet, e.g. call Sample.PersonSets('A','NY')
            in SAMPLE Namespace show now both ResultSets.
   - ENH  : Caché Monitor comes with driver for Caché 2012.2; 2011.2; 2010.1; 2009.1; 2008.2 and 5.2
            The path separator in config.properties is changed so it should now works on linux.
            You can add more driver if needed.
   - ENH  : The Driver list are sorted.
   - ENH  : Based on the decimal digits definition on each columns are the value now formated


V 1.68 (BETA):
   - FIXED: processlist: Show process vars for PID
   - FIXED: processlist: Navigation:Show PID in locktable
   - FIXED: processlist: Show process vars for PID by row selection changed
   - FIXED: locktable  : Navigation:Show PID in processlist
   - FIXED: All tables rowheader, min size fixed
   - FIXED: variable substitution in query analyzer

V 1.67 (BETA):
   - FIXED: NullPointerExceptions in com.intersys.* classes
   - ENH  : added links to the Help menuitem
   - ENH  : online update checker in help menu
   - ENH  : Caché driver 2012.2.0.638 included and set as default
   - ENH  : older Caché driver removed

V 1.66 (BETA):
   - Caché Monitor is now running with Java 7

V 1.64 (BETA):
   - FIXED: TableViewer - Editing\deleting function fixed
   - FIXED: TableViewer - If you make a table editable and selecting another table, editable mode is set to false again
   - FIXED: TableViewer - Refresh bug in RowHeader fixed
   - FIXED: TableViewer - The Color for NULL values are now a system color
   - FIXED: TableViewer - Fixed handling with tables with a dot in name
   - FIXED: TableViewer - Import Table, Export Table and Save Results clarified. Save Result is on every Table available and saves the Result from this table
                          Export Table saves the entire table data into file
                          Import and Export is only available in the TableViewer (with the context menu on the top table)

   - ENH  : TableViewer - The Import Table function added. Cache Monitor can import data from csv files


V 1.63 (BETA):
   - FIXED: TableViewer - Bug in filter functions from context menu is fixed
   - FIXED: TableViewer - Tables was in some situations editable
   - FIXED: ALL         - RowHeader\Row numbers are back
   - FIXED: ALL         - Display of some datatypes fixed: Date / Timestamp / Time / Datetime


V 1.62 (BETA):
   - ENH  : TableViewer - Data not automatically loaded on Table Editor of performance reasons
   - ENH  : TableViewer - Data automatically loaded limited to TOP xxx be default of performance reasons
                          This solution is working faster with handmade SQL mappings in Cache
   - ENH  : TableViewer - Create DDL Script added
   - ENH  : TableViewer - Source View for DDL Script added
   - ENH  : TableViewer - Default TableMenu added to all popupmenus
   - ENH  : Query Analyzer - Create DDL Script added
   - ENH  : Query Analyzer - Font antialiasing activated
   - FIXED: Query Analyzer - Copy to table fixed
   - FIXED: Caché Monitor application folder name can contain spaces. Please test on linux, i've done a test only Win 7


V 1.61 (BETA):

   - ENH  : TableViewer working in readonly and foreward only mode to improved performance
   - FIXED: DataInspector - HexView: to many scrollbars, some of them removed
   - FIXED: Viewing blob data in Data Inspector
   - FIXED: NullPointer if server side class creation is disabled

   - ENH  : JDBC driver can be placed in many JAR files, this feature is required for Cache 2011

   Known limitations:
   - double click on table headers boundry to automatically adjust the column widths to accommodate the longest data
     will result in fetching ALL data from the database table!
   - rownumbers are missing
   - open query analyzer action from task pane opens only at the second click
   - on some dialogs the text ist wrong/missing
   - integer values are show with decimal point

V 1.60 (BETA):
   - New Docking Framework
   - Cache Monitor handles simultanius open panels
   - New SQL Editor
   - Change default namespace to "SAMPLES" because since Caché 200x using %CACHELIB result in parsing error.
   - FIXED: Insert User\Pwd dialog in some situations fixed
   - creating server side helper classes is by default disabled and can be enabled at the server config dialog
   - new postions of Metadata and SQL history panels
   - FIXED: clear cached client data save now the new values
   - FIXED: filtering system objects pay attention to the systems schemas
   - FIXED: canceling query stops wait indication
   - Support for Windows 7 Look and Feels, e.g. for JXTaskPane
   - FIXED: Data Panel: Max Chars not saved, overide max rows
   - Some small enhancements in sql profiler
   - FIXED: SQL Profiler shows query plan and sql statements
   - Open Systemmanagement Portal & Open Cache Documenation by right click on server nodes
   - FIXED: NullPointer by open the systemmanagement portal on disconnected server node
   - FIXED: Column width in SQL History fixed
   - FIXED: SQL Area in SQL History added
   - FIXED: Messages are no longer truncated
   - Driver can be configured for each registered server

   Known limitations:
   - double click on table headers boundry to automatically adjust the column widths to accommodate the longest data
     will result in fetching ALL data from the database table!
   - rownumbers are missing
   - open query analyzer action from task pane opens only at the second click


V 0.58:
   - Sql script variable substitution supports the definition of complex default values
   - Sql script variable substitution can be disabled
   - FIXED: Textoutput of query analyzer fixed
   - FIXED: Some more tooltips for toolbar buttons added

V 0.57:
   - After reconnect in query analyzer, the new pid is updated and displayed in titlebar
   - Sql script execution with variable substitution supports the definition of default values

V 0.56:
   - Reformat Code: Upper case keywords
   - Reconnect button in query analyzer
   - Sql script execution with variable substitution support
   - Better statement finder at cursor position
   - While statement execution on the message panel the executed statement and execution time is listed
   - Rendering of some datatypes in table improved, e.g. Time

V 0.55:
   - "Open file" bug in Query Editor fixed
   - Reformat Code recognize more Cache keywords and can now beautify Caché specific SQL statements with special keywords like %ID
   - Open SQL Docs using Server from SQL Editor and not the selected Server in Server Navigator tree
   - Open Caché (Web)Documenation is working with Caché 2009.1   
   - TableView: Read data is executed only the first time the panel is selected

V 0.54:
   - Link added to Caches SQL docs in Query Analyzer 
   - New Profile features: PTools are now implemented in profile window
   - Cached Queries are now listed under Performance node
   - TYPE_FORWARD_ONLY error in data view window fixed
   - Column control is on each table control enabled
   - Detail Data View is refreshing after changing cell selection in the same row

V 0.53:
   - Data Export function is now working in Query Analyzer
   - Missing class added, so the login dialog is working
   - after connecting to a server tree node is expanded 

V 0.52:
   - Data Export function added from SQL Workbench/J
   - <null>'s are now colored in tables in light grey
   - some icons added/changed
   - after disconnect and changing some settings and reconnect now the NEW settings are used
   - support for cache server version "200X"
   - error log shows the used driver (version)
   - Function "remove server group" in server navigator fixed

V 0.51:

   General
	- Global Viewer is now working. Dont't use it on big globals, currently there is no limit!
   - The Table-Viewer have now more filter functions from the context menu (look at the Data Panel and use right click on table).
   - Faster startup

V 0.50:

   General
	- This version requires Java 6

	- Because of using Java 6, Caché Monitor can now start the system default Webbrowser. The first features that uses this are:
	   - The System Management Portal & Caché Documentation can easily started from selected server
	   - In the new designed Class opens the Caché Class Documentation

	- Caché Monitor 0.50 uses some new Controls-Sets from SwingX, these are now updated to version 0.9.
	  That brings brand new features and better handling and System Look&Feel, nicer login dialog ;), smarter search in some controls
	  e.g. in Tables and much more...		

	- New designed View viewer - Information about views are displayed like the Tables Viewer it does.
	  So you can see data and metadata, also the definition SQL for the view
	- New designed Class view
	- Enable the execution plan TreeView, since Version 0.41 or so, only the HTML Version works, sorry
	- In some situations with old Caché JDBC Driver the Query Analyzer is not open properly. This bug is fixed.
	
	

V 0.41:
   - paintIcon -> catch Nullpointer for mac / Joy ;) please give it a try

   - the default user and password is set for the default connection from Caché Monitor to Caché at localhost.

   - if execution plan parsing fails, the html version is displayed --> see forum message for more details

   - for backward compatibility is this version compiled with Java 5
     - what that means? You can run Caché Monitor with Java 5 but also using Java 6
     - integrated JDBC Driver from Caché 2008.1 (jdk 5)

   - better support for big sql script files

   - changed separator from "GO" to ";"

   - new sql formatter and new sql parser

   - view editor is no longer editable

   - runtime/execution information is displayed in ms for each sql on message panel

   - support for Caché 2008.2
  

V 0.40:
	Query Analyzer
	- Executing stored procedures with CALL no longer raise exception if the resultset is bigger than 99 rows and the option "block fetch" is used.
	- Better code complition in some situations
	
	Server Navigator / Table Browser
	- Max Rows and Max Chars can now be configured. Max Rows limit the rows fetched from server. Max Chars limit the size of charfields fetched from server

V 0.39:
	This Version is a minor release for better support for Caché 2008.1
	and his JDBC Driver. Use Java Runtime Environment 6!! AND Caché JDBC Driver for Java 6 !!

V 0.38:
	Query Analyzer
	- The selected commit mode is now stored in query analyzer.

V 0.37:
	- Within the processlist terminate processes is now working with Cache 2007.1

V 0.36:
	Query Analyzer
	- Work now with the current driver for Version 2007.1 AND with the Version for 2008.1 

V 0.35:
	- Server Info box shows now the driver version and also the compile time of the driver
	- Maxresult and Autocomplete state is now saved, so this information is restored after restart
	
	Query Analyzer
	- Work now with Caché Driver Version: 2008.1.0.171 Fri 06/01/2007  0:01:54.22
	
V 0.34:	
	
	0.34 is a minor release for better support for Caché 2007.1
	
	- The Processlist (In table browser) is now working with Cache 2007.1
	- Constraints Register can now be selected
	

V 0.33:	
	
	0.33 is a minor release for better support for Caché 2007.1
	
	General
	- Home Folder from Cache Monitor can be configured
	  by passing the variable "homepath" for example homepath "c:\myfolder"
	  In this folder Caché Monitor save his confguration file and sql history file
	- Native Windows Executeable is bundled with the latest 2007.1 JDBC Driver
	- Some enhancements for the detail Table Viewer.
		- The Cache Index Type is now listed at a new Page called 'Caché Indexes'.
		  Possibale values in column TYPE are: "" for normal, unique for ..., and BITMAP	
	
	Query Analyzer
	- More Caché specific keywords added
	- The SQL Source from cached queries can be loaded from a Cache 2007.1 server
    - If an error occur while parsing execution plan information, the xml source will be displayed as raw text

V 0.32:
	General
	- Main Toolbar removed to get more space
	- Main Page context actions added eg: Connext\disconnect
	- Open Query Analyzer on last server\namespace show now last server\namespace
	
	Query Analyzer
	- Query metadata can displayed by context menu on result table
	- Column width can by optimized by context menu
	- Column width is optimized for each query
	
V 0.31:
	General
	- In table browsers context menu quick filter function added
	- Date/Time/Timestamp are now editable
	- Many many memory leaks removed
	- Sub nodes created at first expand
	
V 0.30:
	General
	- add/change table and column description
	- In Comboboxes with Namespaces the _default_ namespace from this server is selected
	
	Server Navigator 
	- Edit Server data refresh the node in tree
	- The datatable in table browser is now editable
	- Data from type LONGVARCHAR is visible over context menu "Show columns details"
	
	SQL Scanner
	- Nodes in tree now repainted while scanning, so the nodetext is full visible
	
	Query Analyzer
	- Update count is listed if result to grid is selected

V 0.29:
	General
	- first version for "CREATE TRIGGER" function added
	- CachedQuery Details are now scrollable
	- Tip of the Day dialog
	- copy server now don't copy the cached namespaces
	
	Query Analyzer
	- Query Analyzer request focus if tabbed register selection changed
	- Execute "next" SQL with F7
	
	
V 0.28:
	- more datatypes colored
	- change dialog now save file really if user select "SAVE"!
	- login timeout can set at server config
	- parsed query no longer uppercase formatted
	- if result is text: the message tabs no longer selected if an error occur
	- context menu works also on first data row in Tabledetails-Tab

V 0.27:
	Server Navigator
	- Since 0.26 you can view tabledata from selected table in Server Navigator. 
	  Now can you also filter the data by enter a WHERE clause
	  or using the contextmenu to generate WHERE from selected cells.

	Query Analyzer:
	- Better Query-Canceling
	- The filename from saved or opened file is showing in titlebar
	- If an open file changed, Caché Monitor ask before closing
	
	General	
	- After sorting table the internal and visible selecion was not in sync,
      so it happend that you select one row but the program works internaly with another
	- Block fetching Tabledata don't block repaint
	- "DatabaseMetadata.getSuperTables(currentCatlog, schema, tableName)" blocks with 5.1, -> disabled
	- Frame and Splitter positions are now saved and restored

	INFO:
	You must separate your SQL Statements with GO - If you do not separate your statements Caché Monitor will not be
	able to identify your current statement and some features are not working properly. You can fast insert the 
	seperator by pressing [SHIFT+ENTER]
	
V 0.26:
	Query Analyzer:
	- Sql history entrys always expanded
	- Keywords are sorted in autocomplete box
	- Result table can be sorted
	- Multi resultsets if more than one sql statement is executed
	- Sql history is now sorted descenting and expanded
	- Table details with tabledata in server navigator
	- CTRL-F working in table tio search for data
	- server info shows more information about protcol version
	- server info now works with cache 5.1

V 0.25:
	Query Analyzer: 
	- "SELECT * FROM" on table with many columns results in an error like:
	
			Error: Invalid Message Count (452); expected: 38 got: 942946098. Connection closed 
			(Client Driver Version: 5.0.5504.0) Size: 679Kb

			Error: Communication link failure: Socket closed 
			(Client Driver Version: 5.0.5902.0) Size: 977Kb

			Error: Communication link failure: Socket closed 
			(Client Driver Version: 5.1.0.826) Size:  1,466Kb
	
			The exact message depends on the version of your jdbc driver!
			
	
	- CALL on Stored Procedures result in errors like
	
		Error: [SQLCODE: <0>:<Successful Completion>]
		[Details: <SPFetch2>]
		[%msg: <ERROR #5521: SQLFehler: -102:>]
		(Client Driver Version: 5.1.0.826) Size:  1,466Kb

		Error: [SQLCODE: <-370>:<Embedded SQL CALL Statement can only be used for Method Procedures>]
		[Cache Error: <<SYNTAX>errdone+1^%qaqqt>]
		[Details: <FLoop - func = DU>]
		[%msg: < SQL ERROR #370: SQL CALL Statement cannot be used for Query Procedure 'SQLUSER.xxxx'>]
		(Client Driver Version: 5.0.5504.0) Size: 679Kb
		
		The exact message depends on the versiuon of your jdbc driver!
	- block fetching is always disabled if result is txt, and can be anabled/disabled if result is table	
	- the selection in table is now free, so you can select cell,row and so on
	
	Server Navigator
	- with context menu on server node the refresh namespace/schema action can be triggerd

V 0.24:
	Query Analyzer: 
	- Foreign Key JOIN suggestions. After typing the keyword ON Caché Monitor it will display a JOIN suggestion
	- The keyword CALL shows Stored Procedures in an autocomplete box
	- More autocomplete for sql keywors, functions, etc.
	- Result to grid is now working ;-)
	- Result to grid fetches blocks with blocksize of 100 only, after scrolling at the end the next block will be fetched -> FAST!
	- Selecting a piece of text in the Script Editor will execute that piece only
	- PK Columns are marked with red icon in autocomplete dialog
	
	SQL Scanner
	- DROP INDEX can be executed on selected index from SQL Scanner(Redundant Index finder)
	- CREATE INDEX can be executed on selected index from SQL Scanner(Cached Queries Scanner)
	- SQL Scanner / Cached Queries Scanner is no more case sensitive
	
	General
	- Login dialog box will popup if User or Password is missing in server configuration
	- Caché Monitor is running on Java 6.0
	- x button on the "select server/namespace" dialog has the same behavior like the cancel button
	- namespaces are now cached for each server, the connect to database with in the query analyzer is now faster
	- schemas are now cached for each server/namespace, the connect to database within the  query analyzer is now faster
	- An Error dialog box displays the error message if something has happend

V 0.23:
	Server Navigator
	- Server Groups and Servers can now be rearrangde with drag and drop
	
	Query Analyzer: 
	- more autocompletion (SQL-Schemas are now listed)
	- You can toggle with F8 between MetaBrowser and QueryWindow
	- current line with cursor position is highlighted
	- the autocomplete popup can be enabled/disabled with a double click on the statusbar
	- Some general infos about editor:
	
	You can also highlight a block of code and press TAB to indent it all. SHIFT-TAB will move it all back.
	Bookmarks   Insert or remove a bookmark  CTRL+F2
	Bookmarks   Move to next bookmark        F2
	Bookmarks   Move to previous bookmark    SHIFT+F2 

	Editing     Find                         CTRL+F
	Editing     Go to a line number          CTRL+G	
	Editing     Increase indent              TAB
	
	MetaBrowser
	- F8 will toggle between MetaBrowser and QueryWindow

	SQL Scanner 
	- SQL Scanner will check or redundant indexes now

V 0.22:
	Query Analyzer: 
	- much better autocomplete (again :)
	- autocomplete column list will mark the primary key column
	- better query execution performance
	- file save/open dialog uses last path
	- tooltip on query analyzer shows current namespace
	- the title format on each Query Analyzer tab is changed to: <NAMSPACE>@<LOGICAL_SRV_NAME>
	- selected query analyzer shows information about selected namespace and pid in titlebar
	- cancel button now works
	- if autocommit is disabled, commit/rollback actions can be executed from toolbar

	MetaBrowser
	- shows tables/views etc. in all schemas
	- tables are asc sorted

	General
	- An message occured if the CacheDB.jar (the Cache JDBC Driver) can not be found
	- faster startup

V 0.21:
	Query Analyzer: 
	- Bug in sql history fixed: first sql execution will run very long
	- "Copy QueryAnalyzer with CTRL+N" copies now also the retrieved database metadata
	  to boost ;-) performance

	SQL Scanner
	- Some bugs fixed

	General
	- Used Caché Client Driver Version is now listed in Server Info box
	
V 0.20: 
	Query Analyzer:
	- ClassCastException on Linux in MetaDataBrowser fixed
	- AutoCommit can enabled/disabled from Toolbar
	- Show execution plan works now for selected SQL (it wille be enough to position the cursor in a row)
	- "Result in new tab" function added
	- The Transaction Isolation Level can be changed from Toolbar

	SQL Scanner (NEW)
	- SQL Scanner checks FK-Constraints for supporting index
	- SQL Scanner checks cached queries for supporting indexes on JOINs

V 0.19: 
	Server Navigator
	- "Server info" is changed now only if another ServerNode (or sub node) is selected

	Query Analyzer
	- Change of intelli-schema refresh metabrowser
	- More keywords are highlighted (ADD NEW and so on)
	- Find/Replace dialog fixed

	SQL History
	- Executed SQLs are now listed in treeview within the SQL in a table or a column,
  	so it wille be easier to find the right SQL statement
	- The "Copy content" behavier can be configured: 
  	"Replace", "Copy at cursor pos" and "Copy at end"
  	
  	-----------------------------------------------------------------------
  	Please consider, in this version the Caché Driver is NOT included!
	-----------------------------------------------------------------------
	- You have to put the driver (CacheDB.jar) next to the Caché Monitor      -
	- programmfile (CacheMonitor.jar)                                     -
	- That will be enough, you don't need to add the CacheDB.jar to the          -
	- classpath                                                           -
	- start Caché Monitor by doubleclicking the jar file,                    -
	- or type this at your console window: "javaw -jar CacheMonitor.jar"  -
	-----------------------------------------------------------------------
	
V 0.18: 
	Server Navigator
	- Tablelist shows column selectivity
	- Server & Servergroups can be removed ;-) (thanks ian!)

	Query Analyzer
	- better autocompletion ;-)
	- last "max Result"-Value was saved
	- change isolation level from toolbar
	- with CTRL+I you can navigate to tablemetadata in the metabrowser for table(name) under cursor position
	- navigate with hyperlink (CTRL+LEFT_MOUSE) to tablemetadata in metabrowser
	- execute SQL _around_ cursor position
	- execute SQL with CTRL+ENTER
	- SHIFT+ENTER insert statement seperator (GO)

	New SQL History: (not compatible with older version sorry!)
	- SQL History now grouped by date
	- Statement was shown in Query Analyzer Editor with syntax highlighting

	New MetaBrowser:
	- first version for metabrowser

V 0.17:
	Query Analyzer:
	- better autocompletion
	- completion "auto popup" can be switched on/off

	- multi selection in tables activated to copy more than one row to clipboard (CTRL+C)
	- shows Cache Locktable 

	- CMUtilities.xml is no longer needed! If Caché Monitor need special Serverside functions,
	  it will be generated this on the fly.

V 0.16:
	- SQL History: Bug concering file separator fixed (thanks ralph)
	- SQL History: Bug concerning sqlhistory.dat file fixed
	               (Each SQL execute multiply entrys)

V 0.15:
	- Better Code Completion
	- Open Query Analyzer on last used Namespace/Server
	- Query Analyzer preselects the last used schema at startup
	- For "DROP INDEX" the Code Completion shows all existing indexes
	- Query Analyzer: SQL History
	- Query Analyzer: Current Namespace in Statusbar
	- PopUp-Menue in Server Navigator Tree works on Linux now
	- Format SQL in Query Analyzer 
	- Look and Feel can be changed

V 0.14:
	- Better Code Completion
	- SQL abbreviation, Type: se<space> for "SELECT * FROM "

V 0.13:
	- Show routine source fixed
	- some minor fixes

V 0.12:
	- Terminate Process
	- Show Processinfos
	- Show routine source fixed
	- Reload processlist
	- User can select Transaction-Isolationlevel
	- User can turn AutoCommit On/Off

V 0.11:
	- Connectionhandling fixed