Cach Monitor

Cach Monitor is a Java based SQL development tool for Intersystems database Cach.

Requires JRE 5.0: http://java.sun.com/j2se/1.5.0/download.jsp

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

Best Regards
	Andreas Schneider

eMail: andreas.schneider@cachemonitor.de
Web  : www.cachemonitor.de


Changelog:
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