I have finalised the multiple windows patch that enables multiple trees and sql worksheets to be acive for a given session. I have sent this to colin (directly) and I expect it to be applied when he gets back.
Moving on now, I am looking at an issue with the oracle plugin/database. In oracle, and I am sure that this is the same with other databases, there are a number of different types of stored procedures. There are procedures, functions and packages.
Unfortunately at the moment the base tree functionality of squirrel has a standard expander for procedures that uses the DatabasemetaData.getProcedures. What this means is that all procedures appear under a "Procedures" node in the tree. The oracle plugin then adds a "Functions" and a "Packages" node, but the problem is that the procedures that should ONLY appear beneath the "Functions" or "Packages" node also appear beneath the "Procedures" node.
I would like to be able to override/remove the standard tree procedure expander when the session is an oracle one, but I am a bit stumped on how to do it. I could add a "IObjectTreeAPI.setStandardExpander(DatabaseObjectType dboType, INodeExpander expander)" method but I am concerned on how to prevent multiple plugins overlapping. Does anyone have any ideas?
Senior Software Engineer
Australian Submarine Corporation