From: <sv...@us...> - 2006-11-13 17:17:25
|
Revision: 8021 http://svn.sourceforge.net/jedit/?rev=8021&view=rev Author: svu Date: 2006-11-12 08:16:51 -0800 (Sun, 12 Nov 2006) Log Message: ----------- syncing with CVS Modified Paths: -------------- plugins/SQL/trunk/ChangeLog plugins/SQL/trunk/SqlPlugin.props plugins/SQL/trunk/example.xml.html plugins/SQL/trunk/sql/SqlParser.java plugins/SQL/trunk/sql/SqlServerType.java plugins/SQL/trunk/sql/SqlSubVFS.java plugins/SQL/trunk/sql/serverTypes/ASA.xml plugins/SQL/trunk/sql/serverTypes/ComplexVFS.java plugins/SQL/trunk/sql/serverTypes/Derby.xml plugins/SQL/trunk/sql/serverTypes/MSSQL.jTDS.xml plugins/SQL/trunk/sql/serverTypes/OracleVFS.java plugins/SQL/trunk/sql/serverTypes/PostgresVFS.java plugins/SQL/trunk/sql/serverTypes/Progress.xml plugins/SQL/trunk/sql/serverTypes/ProgressVFS.java plugins/SQL/trunk/sql/serverTypes/Sybase.xml plugins/SQL/trunk/sql/serverTypes/SybaseVFS.java plugins/SQL/trunk/sql/serverTypes/db2Local.xml plugins/SQL/trunk/sql/serverTypes/db2Remote.xml plugins/SQL/trunk/sql/serverTypes/example.xml plugins/SQL/trunk/sql/serverTypes/mysql.xml plugins/SQL/trunk/sql/serverTypes/oracle/TriggerObjectType.java plugins/SQL/trunk/sql/serverTypes/oracle.xml plugins/SQL/trunk/sql/serverTypes/pgsql.xml plugins/SQL/trunk/sql/serverTypes/postgres/StoredProcedureObjectType.java plugins/SQL/trunk/sql/serverTypes/progress/StoredProcedureObjectType.java plugins/SQL/trunk/users-guide.xml Added Paths: ----------- plugins/SQL/trunk/sql/CodeObjectType.java plugins/SQL/trunk/sql/TableObjectType.java plugins/SQL/trunk/sql/serverTypes/MSSQL.xml Removed Paths: ------------- plugins/SQL/trunk/sql/serverTypes/complex/CodeObjectType.java plugins/SQL/trunk/sql/serverTypes/complex/TableObjectType.java Modified: plugins/SQL/trunk/ChangeLog =================================================================== --- plugins/SQL/trunk/ChangeLog 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/ChangeLog 2006-11-12 16:16:51 UTC (rev 8021) @@ -1,13 +1,48 @@ -2005-04-03 01:50 svu +2006-11-12 svu + * SqlPlugin.props, example.xml.html, users-guide.xml, + sql/SqlSubVFS.java, sql/TableObjectType.java, sql/serverTypes/ASA.xml, + sql/serverTypes/ComplexVFS.java, sql/serverTypes/Derby.xml, + sql/serverTypes/MSSQL.jTDS.xml, sql/serverTypes/MSSQL.xml, + sql/serverTypes/OracleVFS.java, sql/serverTypes/PostgresVFS.java, + sql/serverTypes/Progress.xml, sql/serverTypes/ProgressVFS.java, + sql/serverTypes/Sybase.xml, sql/serverTypes/SybaseVFS.java, + sql/serverTypes/db2Local.xml, sql/serverTypes/db2Remote.xml, + sql/serverTypes/example.xml, sql/serverTypes/mysql.xml, + sql/serverTypes/oracle.xml, sql/serverTypes/pgsql.xml, + sql/serverTypes/complex/CodeObjectType.java, + sql/serverTypes/complex/TableObjectType.java, + sql/serverTypes/oracle/TriggerObjectType.java: massive reorganizing in + VFS, most of the code is moved from ComplexVFS to SqlSubVFS + (ComplexVFS is going to be extended though). Extra level added: + per-object actions (currently, only showing the contents - more to + come). + * sql/CodeObjectType.java, sql/TableObjectType.java, + sql/serverTypes/ComplexVFS.java, sql/serverTypes/OracleVFS.java, + sql/serverTypes/PostgresVFS.java, sql/serverTypes/ProgressVFS.java, + sql/serverTypes/SybaseVFS.java, + sql/serverTypes/complex/CodeObjectType.java, + sql/serverTypes/postgres/StoredProcedureObjectType.java, + sql/serverTypes/progress/StoredProcedureObjectType.java: moving + CodeObjectType to the base sql package + +2006-11-11 svu + + * sql/SqlServerType.java, sql/serverTypes/MSSQL.xml: adding support + for Microsoft proprietary JDBC driver. + * sql/SqlParser.java, sql/serverTypes/oracle.xml: a bit of extra + testing, fixing delimiter regexp for Oracle. + +2005-04-03 svu + * sql/SqlServerType.java, sql/serverTypes/Derby.xml: Adding Derby, thanks to Bryan Taylor <bry...@ya...> -2005-04-03 01:50 svu +2005-04-03 svu * SqlPlugin.props: updating requirements -2005-04-03 01:42 svu +2005-04-03 svu * SqlPlugin.props, build.xml, sql/SqlPlugin.java, sql/SqlPluginPVListener.java, sql/SqlThreadGroup.java, @@ -18,117 +53,117 @@ sql/serverTypes/complex/TableObjectType.java: fixing the compatiblity with the latest PV, thanks to Andre Gauthier -2004-09-04 21:33 svu +2004-09-04 svu * sql/serverTypes/: PostgresVFS.java, pgsql.xml, postgres/StoredProcedureObjectType.java: Major improvement for PostgreSQL, thanks to Andre Gauthier -2004-09-02 00:56 svu +2004-09-02 svu * SqlPlugin.props, users-guide.xml: preparing 1.01 -2004-07-13 02:04 svu +2004-07-13 svu * sql/serverTypes/oracle.xml: Improved Oracle delimiter regexp, thanks to Martin Keilers -2004-07-08 01:09 svu +2004-07-08 svu * SqlPlugin.props, build.xml, sql/SqlPlugin.java, sql/SqlPluginPVListener.java: starting update process for the latest PV -2004-05-20 20:42 svu +2004-05-20 svu * sql/DbCodeObject.java: hopefully fixed NPE -2004-05-12 20:33 svu +2004-05-12 svu * sql/serverTypes/oracle.xml: fix in the oracle statement delimiter regex -2004-03-23 23:30 svu +2004-03-23 svu * build.xml: xsltproc is better -2004-03-23 22:33 svu +2004-03-23 svu * SqlPlugin.props, users-guide.xml, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/SqlUtils.java: More polishing of the tooltips - and fixing 4.2pre10 problem -2004-03-19 19:31 svu +2004-03-19 svu * sql/: ResultSetWindow.java, ResultSetWindowPopup.java, SqlTextPublisher.java: now ResultSet can show/hide columns - and show tooltip with the query -2004-03-14 01:25 svu +2004-03-14 svu * SqlPlugin.props, users-guide.xml: Updated users-guide. Preparing 0.99 -2004-03-14 00:50 svu +2004-03-14 svu * sql/options/GeneralOptionPane.java: Better l&f for the help text. -2004-03-12 01:04 svu +2004-03-12 svu * SqlPlugin.props, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/options/GeneralOptionPane.java: Now buffers know about result sets - so once you close a buffer, the results are gone! Sure, optionally. -2004-03-10 00:36 svu +2004-03-10 svu * SqlPlugin.props, SqlPlugin.xcf, build.xml, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/SqlTextPublisher.java: Now some empty update popups are optional, also I give some info on the general tab -2004-03-07 23:39 svu +2004-03-07 svu * sql/: ResultSetWindowPopup.java, SqlServerDialog.java, SqlServerRecord.java: fixing a couple of long outstanding bugs -2004-01-05 10:31 svu +2004-01-05 svu * build.xml, users-guide.xml: better docs-xalan -2003-12-05 14:52 svu +2003-12-05 svu * sql/: SqlSubVFS.java, SqlVFS.java, serverTypes/ComplexVFS.java, serverTypes/oracle.xml: Useful thing - now oracle provides sensible size info -2003-12-05 14:47 svu +2003-12-05 svu * sql/serverTypes/.cvsignore: ignore the dtd - it is here for editing only -2003-09-13 00:44 svu +2003-09-13 svu * sql/SqlPlugin.java: PV version fix -2003-09-11 00:00 svu +2003-09-11 svu * SqlPlugin.props, users-guide.xml: releasing 0.98 -2003-09-04 12:06 svu +2003-09-04 svu * SqlPlugin.props, browser.actions.xml, build.xml, sql/SqlPlugin.java, sql/options/GeneralOptionPane.java, sql/options/JdbcOptionPane.java: more 4.2 polishing -2003-08-10 01:26 svu +2003-08-10 svu * .cvsignore, SqlPlugin.props, build.properties, build.xml, services.xml, sql/SqlPlugin.java, sql/SqlSubVFS.java, sql/SqlVFS.java, sql/serverTypes/ComplexVFS.java: First build for 4.2pre4. It seems PV still has problems with devel version -2003-06-09 14:50 svu +2003-06-09 svu * sql/: SqlPlugin.java, SqlUtils.java, serverTypes/OracleVFS.java, serverTypes/SybaseVFS.java, serverTypes/oracle.xml, @@ -136,90 +171,90 @@ Oracle/Sybase/MSSQL) are processed as code objects. I like it more this way -2003-05-19 09:12 svu +2003-05-19 svu * sql/serverTypes/SybaseVFS.java: a couple of more code object types, thanks to Christophe -2003-05-16 20:44 svu +2003-05-16 svu * sql/serverTypes/Sybase.xml: improved order by -2003-05-02 23:48 svu +2003-05-02 svu * sql/: SqlSubVFS.java, SqlUtils.java, SqlVFS.java, serverTypes/ComplexVFS.java: no more load method in VFS. Also, server sorting (thanks to Lee Turner for idea) -2003-04-17 00:10 svu +2003-04-17 svu * SqlPlugin.props: little fix for dependancy -2003-04-16 23:09 svu +2003-04-16 svu * SqlPlugin.props, users-guide.xml: updated docs. Let's call all this stuff 0.97 -2003-04-16 16:03 svu +2003-04-16 svu * SqlPlugin.props, sql/SqlServerDialog.java, sql/SqlTextPublisher.java: some polishing - probably ready for release -2003-04-16 13:09 svu +2003-04-16 svu * sql/SqlTextPublisher.java: empty regexp in ServerRecord -> use regexp from ServerType -2003-04-16 13:08 svu +2003-04-16 svu * sql/serverTypes/: MSSQL.jTDS.xml, Sybase.xml: fixes for ms/sybase regexps -2003-04-16 13:07 svu +2003-04-16 svu * sql/serverTypes/oracle.xml: small fixes for oracle -2003-04-16 12:45 svu +2003-04-16 svu * actions.xml, sql/SqlParser.java, sql/SqlTextPublisher.java, sql/serverTypes/ASA.xml, sql/serverTypes/MSSQL.jTDS.xml, sql/serverTypes/Sybase.xml: first round of multiple statements per launch is over. All pieces are in place -2003-04-16 10:51 svu +2003-04-16 svu * actions.xml, sql/SqlPlugin.java, sql/SqlTextPublisher.java, sql/SqlToolBar.java, sql/SqlUtils.java, sql/SqlVFS.java: little code cleanup - just to make it more maintainable -2003-04-16 10:14 svu +2003-04-16 svu * sql/: SqlParser.java, SqlServerDialog.java, SqlServerType.java: double slash, stupid me -2003-04-16 09:59 svu +2003-04-16 svu * sql/SqlServerDialog.java: correct display regexps in UI -2003-04-15 00:45 svu +2003-04-15 svu * sqlServerType.dtd, sql/SqlParser.java, sql/SqlServerType.java, sql/SqlUtils.java: the regex revolution is on its way - now SqlParser is better than ever:) -2003-04-13 23:46 svu +2003-04-13 svu * sql/serverTypes/: ASA.xml, MSSQL.jTDS.xml, Sybase.xml: case-insensitive regexp for sybase-like DBMSes (they use like to go as delimiter) -2003-04-13 23:34 svu +2003-04-13 svu * SqlPlugin.props, sql/SqlServerDialog.java: just little UI polishing about stmt delimiter regexp -2003-04-13 01:48 svu +2003-04-13 svu * SqlPlugin.props, sqlServerType.dtd, sql/SqlServerDialog.java, sql/SqlServerRecord.java, sql/SqlServerType.java, @@ -230,62 +265,62 @@ working on multiple statements per execution - adding statement delimiter regexp... -2003-04-11 01:02 svu +2003-04-11 svu * sql/: ResultSetWindow.java, SqlUtils.java, serverTypes/ASA.xml: tabbed result set is implemented. Probably one day we'll get multiple statements per run... -2003-04-11 00:59 svu +2003-04-11 svu * icons/: closebox.gif, closebox.png: sometimes png sux - or I have no time to fight -2003-04-11 00:53 svu +2003-04-11 svu * icons/: ResultSetWindowTab.png, closebox.png: images for tabbed result sets -2003-04-07 17:13 svu +2003-04-07 svu * sql/ResultSetWindow.java: double-click on data cell causes simple dialog to popup - nice idea stolen from SQLPlugin -2003-04-06 21:07 svu +2003-04-06 svu * sql/SqlVFS.java: better getting of the View. Thanks to Slava -2003-04-06 03:14 svu +2003-04-06 svu * SqlPlugin.props, users-guide.xml, sql/SqlToolBar.java, sql/SqlVFS.java, sql/serverTypes/ComplexVFS.java: now per-project VFS is reality. Really happy. Probably it is already 0.96 -2003-04-01 22:50 svu +2003-04-01 svu * SqlPlugin.props, actions.xml, sql/SqlUtils.java: the dialog to choose the server is back. Ave Martin -2003-04-01 00:38 svu +2003-04-01 svu * SqlPlugin.props, actions.xml, sql/Preprocessor.java, sql/SqlPlugin.java, sql/SqlToolBar.java, sql/SqlUtils.java: preprocessors are now in toolbar as well (icons will be accepted with gracefullness) -2003-03-30 02:33 svu +2003-03-30 svu * sql/: SqlPlugin.java, SqlUtils.java: more PV stuff... -2003-03-29 23:35 svu +2003-03-29 svu * sql/serverTypes/Progress.xml: redundant condition gone -2003-03-27 21:55 svu +2003-03-27 svu * sql/SqlToolBar.java: little jdk1.3 fix -2003-03-24 00:07 svu +2003-03-24 svu * SqlPlugin.props, actions.xml, sql/SqlPlugin.java, sql/SqlServerRecord.java, sql/SqlToolBar.java, sql/SqlUtils.java, @@ -295,20 +330,20 @@ sql/preprocessors/SpecialCommentRemover.java: more PV-dependant stuff -2003-03-22 02:10 svu +2003-03-22 svu * sql/: ResultSetWindow.java, SqlPlugin.java, SqlServerRecord.java, SqlToolBar.java, SqlUtils.java, SqlVFS.java, options/ServersOptionPane.java: PV integration goes on -2003-03-19 12:37 svu +2003-03-19 svu * build.xml, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/SqlServerListChanged.java, sql/SqlServerRecord.java, sql/SqlSubVFS.java, sql/SqlToolBar.java, sql/SqlUtils.java, sql/SqlVFS.java: Going to per-view databases. BUILD BROKEN -2003-03-19 00:59 svu +2003-03-19 svu * SqlPlugin.props, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/SqlServerRecord.java, sql/SqlToolBar.java, sql/SqlUtils.java, @@ -318,7 +353,7 @@ sql/preprocessors/SpecialCommentRemover.java: moving to context-based world -2003-03-10 21:32 svu +2003-03-10 svu * .cvsignore, SqlPlugin.props, actions.xml, build.xml, users-guide.xml, icons/execBuffer.png, icons/execSelection.png, @@ -328,14 +363,14 @@ sql/options/GeneralOptionPane.java: more stuff for toolbar developed -2003-02-18 23:17 svu +2003-02-18 svu * SqlPlugin.props, actions.xml, sql/SqlPlugin.java, sql/SqlServerDialog.java, sql/SqlUtils.java, sql/options/ServersOptionPane.java: little bug fixing. NO MORE '... FROM SERVER' ACTIONS - just use toolbar instead -2003-02-18 00:05 svu +2003-02-18 svu * SqlPlugin.props, sql/ResultSetWindow.java, sql/SqlPlugin.java, sql/SqlServerChanged.java, sql/SqlServerListChanged.java, @@ -344,36 +379,36 @@ sql/options/ServersOptionPane.java: more-less working session switcher -2003-02-13 23:45 svu +2003-02-13 svu * SqlPlugin.props, users-guide.xml, sql/serverTypes/Progress.xml, sql/serverTypes/ProgressVFS.java, sql/serverTypes/progress/StoredProcedureObjectType.java: some stuff from Progress world -2003-02-12 23:22 svu +2003-02-12 svu * sql/: SqlServerType.java, serverTypes/Progress.xml, serverTypes/complex/CodeObjectType.java: added Progress.xml, thanks to Gerke Kok -2003-02-06 00:33 svu +2003-02-06 svu * sql/ResultSetWindow.java: now the sorting code does not stink THAT hard -2003-02-04 20:56 svu +2003-02-04 svu * build.xml, sql/ResultSetWindow.java, sql/SqlPlugin.java: now sorting can be changed by clicking on the column headers. Not a very clean code though -2002-12-19 15:59 svu +2002-12-19 svu * SqlPlugin.props, users-guide.xml, sql/serverTypes/MSSQL.jTDS.xml, sql/serverTypes/MsSqlVFS.java: docs updated -2002-12-19 15:46 svu +2002-12-19 svu * users-guide.xsl, sql/SqlServerType.java, sql/serverTypes/MSSQL.FreeTDS.xml, @@ -381,54 +416,54 @@ sql/serverTypes/Sybase.xml, sql/serverTypes/SybaseVFS.java: MSSQL server is now with VFS. Thanks to Sybase:) -2002-11-06 11:19 svu +2002-11-06 svu * sql/ResultSetWindow.java: fix for CLOB/BLOB precision handling -2002-09-26 22:43 svu +2002-09-26 svu * sql/ResultSetWindow.java: better clob processing -2002-06-20 23:10 svu +2002-06-20 svu * SqlPlugin.props, sql/ResultSetWindow.java, sql/SqlUtils.java: Added current server name into result set window -2002-05-17 00:44 svu +2002-05-17 svu * sql/: ResultSetWindow.java, SqlServerType.java, serverTypes/odbc.xml: Little patch from Dalberg, Jon <Jon...@pa...> -2002-04-23 21:35 svu +2002-04-23 svu * SqlPlugin.props, users-guide.xml: hopefully 0.94. Just waiting for success reports... -2002-04-22 22:50 svu +2002-04-22 svu * sql/: SqlPlugin.java, SqlServerType.java: Now the loading of the configuration is deffered. Hopefully this will help with the plugin initialization bug -2002-04-22 17:02 svu +2002-04-22 svu * sql/ResultSetWindowPopup.java: delimiter in the header should be used too. Thanks to Alfonso Garcia -2002-04-19 10:15 svu +2002-04-19 svu * actions.xml: no more dockable action at all -2002-04-19 10:02 svu +2002-04-19 svu * actions.xml: no more action for dockable. Slava insisted... -2002-04-02 09:45 svu +2002-04-02 svu * sql/serverTypes/: Sybase.xml, SybaseVFS.java: updated SybaseVFS -2002-03-28 22:24 svu +2002-03-28 svu * example.xml.html, sqlServerType.dtd, sql/SqlServerType.java, sql/SqlUtils.java, sql/serverTypes/ASA.xml, @@ -439,7 +474,7 @@ REPLACE " prefix string is now customizable. So object loading can be easily done even on DBMSs returning this prefix -2002-03-26 01:21 svu +2002-03-26 svu * SqlPlugin.props, users-guide.xml, sql/Preprocessor.java, sql/SqlOptionPane.java, sql/SqlPlugin.java, sql/SqlUtils.java, @@ -450,7 +485,7 @@ sql/preprocessors/SpecialCommentRemover.java: Better options UI. Clean and easy -2002-03-20 20:57 svu +2002-03-20 svu * sql/: SqlServerType.java, serverTypes/ComplexVFS.java, serverTypes/OracleVFS.java, serverTypes/Sybase.xml, @@ -462,7 +497,7 @@ complex VFSes into ComplexVFS (more to come). Fix of the bug with XML parser. Hurray! -2002-03-13 22:46 svu +2002-03-13 svu * sql/: SqlServerType.java, serverTypes/ASA.xml, serverTypes/MSSQL.FreeTDS.xml, serverTypes/db2Local.xml, @@ -470,7 +505,7 @@ serverTypes/mysql.xml, serverTypes/oracle.xml, serverTypes/pgsql.xml: URL in DTD should be relative indeed! -2002-03-12 23:07 svu +2002-03-12 svu * actions.xml, sql/SqlOptionPane.java, sql/SqlServerType.java, sql/serverTypes/ASA.xml, sql/serverTypes/MSSQL.FreeTDS.xml, @@ -479,11 +514,11 @@ sql/serverTypes/oracle.xml, sql/serverTypes/pgsql.xml: Fixes for JDK 1.4. More to come (after discussion) -2002-03-12 12:10 svu +2002-03-12 svu * sql/SqlOptionPane.java: bugfix -2002-03-12 12:07 svu +2002-03-12 svu * SqlPlugin.java, SqlPlugin.props, sql/ResultSetWindow.java, sql/SqlOptionPane.java, sql/SqlPlugin.java, @@ -494,29 +529,29 @@ SpecialCommentRemover is GUI-configurable. TODO: Fix common controls -2002-03-08 12:19 svu +2002-03-08 svu * SqlPlugin.props, actions.xml, sql/preprocessors/SpecialCommentRemover.java, sql/preprocessors/SpecialCommentSubstitutor.java: SpecialCommentRemover is integrated -2002-02-28 15:49 svu +2002-02-28 svu * sql/: ResultSetWindow.java, SqlServerType.java, serverTypes/MSSQL.FreeTDS.xml: Some basic support for MS SQL Server using FreeTDS driver. Only for raw SQL for a moment -2002-02-28 15:48 svu +2002-02-28 svu * sql/preprocessors/SpecialCommentSubstitutor.java: fix -2002-02-25 17:18 svu +2002-02-25 svu * sql/preprocessors/SpecialCommentSubstitutor.java: Another idea from Stefano -2002-02-24 00:46 svu +2002-02-24 svu * SqlPlugin.java, SqlPlugin.props, users-guide.xml, sql/Preprocessor.java, sql/ResultSetWindow.java, @@ -529,7 +564,7 @@ sql/serverTypes/OracleVFS.java: Moved to Collections wherever possible. Users guide is updated -2002-02-23 01:00 svu +2002-02-23 svu * SqlPlugin.props, actions.xml, build.xml, sql/Preprocessor.java, sql/SqlParser.java, sql/SqlUtils.java, @@ -538,173 +573,173 @@ introduced (thanks to Stefano). Now every type of preprocessor can be switched on/off separately -2002-02-20 22:58 svu +2002-02-20 svu * sql/: SqlParser.java, SqlUtils.java: a patch for variable substitution is here -2002-02-20 21:08 svu +2002-02-20 svu * actions.xml, dockables.xml, sql/SqlVFS.java, sql/serverTypes/OracleVFS.java: More complete fix for filenames -2002-02-20 00:40 svu +2002-02-20 svu * dockables.xml: Dockable description -2002-02-20 00:21 svu +2002-02-20 svu * sql/: SqlSubVFS.java, SqlVFS.java: Fix for VFS bug #520159. Now names are shown in the directory without full paths. -2002-01-24 20:00 svu +2002-01-24 svu * SqlPlugin.props, sql/SqlOptionPane.java, sql/SqlVFS.java: works with 4.0b4\! -2002-01-07 13:31 svu +2002-01-07 svu * SqlPlugin.java, SqlPlugin.props, build.xml, sql/ResultSetWindow.java, sql/SqlSubVFS.java, sql/SqlUtils.java, sql/serverTypes/OracleVFS.java: first steps to jedit4 -2002-01-07 12:36 svu +2002-01-07 svu * sql/serverTypes/: OracleVFS.java, oracle.xml: Java Source support -2001-10-13 00:22 svu +2001-10-13 svu * SqlPlugin.java, SqlPlugin.props, users-guide.xml: More correct processing of session events. Now the plugin listens to SessionChanging event -2001-10-10 17:19 svu +2001-10-10 svu * SqlPlugin.java, users-guide.xml, sql/SqlOptionPane.java, sql/SqlServerType.java: Now SqlVFS is session-aware too. Great! Small problem found and exposed in jedit-devel mailing list. Still problems with PathBuilder:( -2001-10-02 09:28 svu +2001-10-02 svu * SqlPlugin.java, sql/SqlOptionPane.java, sql/SqlServerRecord.java, sql/SqlUtils.java: More fixes in session management. A lot of things to do still... -2001-10-02 09:25 svu +2001-10-02 svu * sql/serverTypes/ASA.xml: Support of Sybase ASA/jConnect 5.2 is added. Thanks to Ken Arway <ka...@wo...> -2001-10-01 17:56 svu +2001-10-01 svu * sql/ResultSetWindowPopup.java: cvsize->csvize. Just typo:) -2001-10-01 17:53 svu +2001-10-01 svu * SqlPlugin.java, SqlPlugin.props, build.xml, sql/ResultSetWindow.java, sql/ResultSetWindowPopup.java, sql/SqlServerRecord.java: Initial support of sessions Now tab-separated buffer does not do "csvize" -2001-09-29 00:47 svu +2001-09-29 svu * SqlPlugin.props, users-guide.xml, sql/SqlOptionPane.java: PathBuilder incorporated. Preparing to 0.9 -2001-09-27 10:38 svu +2001-09-27 svu * sql/ResultSetWindowPopup.java: Now tab-separated copy really works -2001-09-20 14:54 svu +2001-09-20 svu * sql/ResultSetWindow.java: Bugfix -2001-09-19 23:43 svu +2001-09-19 svu * SqlPlugin.java, SqlPlugin.props, users-guide.xml, sql/ResultSetWindow.java, sql/SqlOptionPane.java: More correct JDBC classpath setting (both GUI and functionality). Documentation updated. Tagged v0.8 -2001-09-18 17:26 svu +2001-09-18 svu * SqlPlugin.java, SqlPlugin.props, sql/SqlOptionPane.java, sql/SqlServerRecord.java: First version of customizable JDBC classpath. One minor bug in SqlServerRecord fixed -2001-09-16 03:44 svu +2001-09-16 svu * SqlPlugin.props, build.xml, sql/ResultSetWindow.java, sql/SqlServerType.java: Dependancy on CommonControlsPlugin is introduced. -2001-09-11 10:59 svu +2001-09-11 svu * build.xml, makefile.jmk: Back to ant from jmk. Ant still rulezz! -2001-09-10 16:39 svu +2001-09-10 svu * makefile.jmk: Moving from DSSSL to XSL, replaced openjade with xsltproc -2001-09-10 16:39 svu +2001-09-10 svu * users-guide.xsl: Now using XSL instead of DSSSL. Probably this will make life easier -2001-09-07 21:59 svu +2001-09-07 svu * SqlPlugin.props, users-guide.xml, sql/ResultSetWindow.java: Downgrade from HelfulJTable to JTable. Version is 0.71. Hope the issue with the common controls will be resolved soon. -2001-09-07 11:22 svu +2001-09-07 svu * users-guide.xml: System ID is back. But it is filesystem-dependant: openjade cannot handle URLs :( -2001-09-07 00:39 svu +2001-09-07 svu * users-guide.xml: The users guide is now corresponds to the correct DocBook XML DTD 4.1.2. Thanks to Mike. -2001-09-06 20:13 svu +2001-09-06 svu * SqlPlugin.props: Version bumped to 0.7 -2001-09-06 20:11 svu +2001-09-06 svu * users-guide.xml, sql/ResultSetWindow.java: Small fixes. No more red color in users guide (due to problems with Docbook usability) If no problems reported, this is 0.7 -2001-09-04 23:18 svu +2001-09-04 svu * example.xml.html, makefile.jmk, users-guide.xml: Update of User's Guide. Now the it is generated into ONE html file but not into many -2001-09-04 20:35 svu +2001-09-04 svu * SqlPlugin.html, SqlPlugin.props, example.xml.html, makefile.jmk, users-guide.dsl, users-guide.xml: Move to DocBook. Fix of BufferList dependancy -2001-09-04 11:06 svu +2001-09-04 svu * SqlPlugin.props: Dependancy on BufferList plugin (HelpfulJTable). Small cleanup. -2001-09-04 10:50 svu +2001-09-04 svu * makefile.jmk, sql/ResultSetWindow.java, sql/SqlSubVFS.java, sql/SqlVFS.java, sql/serverTypes/OracleVFS.java: Fixed bug with empty resultset (Vector[0] is invalid construct:() HelpfulJTable is used instead of JTable -2001-09-03 22:03 svu +2001-09-03 svu * SqlPlugin.html, SqlPlugin.props, example.xml.html, sql/ResultSetWindow.java, sql/ResultSetWindowPopup.java, @@ -712,11 +747,11 @@ SQL server type create. New functions: - copy result set to clipboard as CSV - show column types as hints -2001-09-02 23:39 svu +2001-09-02 svu * sql/serverTypes/pgsql.xml: Removed concrete IP address -2001-09-02 00:06 svu +2001-09-02 svu * SqlPlugin.gif, SqlPlugin.html, SqlPlugin.java, SqlPlugin.props, SqlPlugin.xcf, actions.xml, makefile.jmk, sqlServerType.dtd, Modified: plugins/SQL/trunk/SqlPlugin.props =================================================================== --- plugins/SQL/trunk/SqlPlugin.props 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/SqlPlugin.props 2006-11-12 16:16:51 UTC (rev 8021) @@ -2,7 +2,7 @@ plugin.sql.SqlPlugin.name=SQL plugin.sql.SqlPlugin.author=Sergey V. Udaltsov -plugin.sql.SqlPlugin.version=1.03 +plugin.sql.SqlPlugin.version=1.04 plugin.sql.SqlPlugin.docs=index.html plugin.sql.SqlPlugin.depend.0=jdk 1.4 @@ -163,4 +163,4 @@ sql.chooseCurrentServer.label=Choose the server - +sql.vfs.actions.Contents=Contents Modified: plugins/SQL/trunk/example.xml.html =================================================================== --- plugins/SQL/trunk/example.xml.html 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/example.xml.html 2006-11-12 16:16:51 UTC (rev 8021) @@ -81,21 +81,21 @@ BEGIN ? := SYSDATE; END; <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>/statement</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> <FONT COLOR="#006666"><EM><!-- Statements for sql.serverTypes.OracleVFS --></EM></FONT> - <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectSchemas"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> + <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectObjectGroups"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> SELECT DISTINCT owner AS tableGroup FROM all_tables <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>/statement</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> - <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectTablesInSchema"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> + <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectTablesInGroup"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> SELECT table_name AS tableName FROM all_tables WHERE owner=? <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>/statement</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> - <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectViewsInSchema"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> + <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectViewsInGroup"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> SELECT view_name AS viewName FROM all_views WHERE owner=? <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>/statement</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> - <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectCodeObjectsInSchema"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> + <FONT COLOR="#5e5e5e"><STRONG><</STRONG></FONT><FONT COLOR="#5e5e5e"><STRONG>statement purpose</STRONG></FONT>=<FONT COLOR="#404040">"selectCodeObjectsInGroup"</FONT><FONT COLOR="#5e5e5e"><STRONG>></STRONG></FONT> SELECT DISTINCT o.object_name AS name, o.status AS valid FROM all_objects o Added: plugins/SQL/trunk/sql/CodeObjectType.java =================================================================== --- plugins/SQL/trunk/sql/CodeObjectType.java (rev 0) +++ plugins/SQL/trunk/sql/CodeObjectType.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -0,0 +1,176 @@ +/** + * CodeObjectType.java - Sql Plugin + * Copyright (C) 2001 Sergey V. Udaltsov + * sv...@us... + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +package sql; + +import java.io.*; +import java.sql.*; +import java.util.*; + +import org.gjt.sp.util.*; + +import sql.*; + +/** + * Description of the Class + * + * @author svu + * @created 12 Февраль 2003 г. + */ +public class CodeObjectType implements SqlSubVFS.ObjectType +{ + protected String typeString; + protected String statementPurpose4List; + protected String statementPurpose4Text; + + + /** + * Constructor for the CodeObjectType object + * + * @param typeString Description of Parameter + * @since + */ + public CodeObjectType( String typeString ) + { + this( typeString, null ); + } + + + /** + *Constructor for the CodeObjectType object + * + * @param typeString Description of Parameter + * @param statementPurpose4List Description of Parameter + */ + public CodeObjectType( String typeString, String statementPurpose4List ) + { + this( typeString, statementPurpose4List, null ); + } + + + /** + *Constructor for the CodeObjectType object + * + * @param typeString Description of Parameter + * @param statementPurpose4Text Description of Parameter + * @param statementPurpose4List Description of Parameter + */ + public CodeObjectType( String typeString, String statementPurpose4List, String statementPurpose4Text ) + { + this.typeString = typeString; + this.statementPurpose4List = statementPurpose4List != null ? statementPurpose4List : "selectCodeObjectsInGroup"; + this.statementPurpose4Text = statementPurpose4Text != null ? statementPurpose4Text : "selectCodeObjectLines"; + } + + + /** + * Gets the Text attribute of the CodeObjectType object + * + * @param path Description of Parameter + * @param rec Description of Parameter + * @param userName Description of Parameter + * @param objName Description of Parameter + * @return The Text value + */ + public String getText( String path, + SqlServerRecord rec, + String userName, + String objName ) + { + return rec.getServerType().getObjectCreationPrefix() + getSource( path, rec, userName, objName ); + } + + + /** + * Gets the Text attribute of the CodeObjectType object + * + * @param path Description of Parameter + * @param rec Description of Parameter + * @param userName Description of Parameter + * @param objName Description of Parameter + * @return The Text value + * @since + */ + public String getSource( String path, + SqlServerRecord rec, + String userName, + String objName ) + { + Connection conn = null; + try + { + conn = rec.allocConnection(); + final String text = SqlUtils.loadObjectText( conn, + rec, + statementPurpose4Text, + userName, + objName, + typeString ); + return text; + } catch ( SQLException ex ) + { + Log.log( Log.ERROR, CodeObjectType.class, + "Error loading object code" ); + Log.log( Log.ERROR, CodeObjectType.class, + ex ); + } finally + { + rec.releaseConnection( conn ); + } + return null; + } + + + /** + * Gets the StatementPurpose attribute of the CodeObjectType object + * + * @return The StatementPurpose value + * @since + */ + public String getStatementPurpose() + { + return statementPurpose4List; + } + + + /** + * Gets the Parameter attribute of the CodeObjectType object + * + * @return The Parameter value + * @since + */ + public Object getParameter() + { + return typeString; + } + + + /** + * Description of the Method + * + * @return Description of the Returned Value + * @since + */ + public boolean showResultSetAfterLoad() + { + return false; + } +} + Modified: plugins/SQL/trunk/sql/SqlParser.java =================================================================== --- plugins/SQL/trunk/sql/SqlParser.java 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/SqlParser.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -150,6 +150,25 @@ test( pattern, text ); text = "\n;\r aa\n;\nbb\n;\n;\ncc \r;\n "; test( pattern, text ); + + String s1 = "select sysdate from dual1\n" + + "/\n" + + "select sysdate from dual2\n" + + "/\n" + + "select sysdate from dual3/\n" + + "select sysdate from dual4;\n" + + "select sysdate from dual5\n" + + ";\n" + + "select sysdate from dual6\n"; + String s2= "(?m)(?i)([\\s]*[/;])+[\\s]*$"; + test( s2, s1 ); + + s1 = "select getdate()\n" + + "go\n" + + "select getdate()\n"; + s2 = "(?i)([\\n\\r]+go)+[\\n\\r]+"; + test( s2, s1 ); + } Modified: plugins/SQL/trunk/sql/SqlServerType.java =================================================================== --- plugins/SQL/trunk/sql/SqlServerType.java 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/SqlServerType.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -40,7 +40,6 @@ * Description of the Class * * @author svu - * @created 26 ������ 2001 �. */ public class SqlServerType extends Properties { @@ -98,6 +97,7 @@ "/sql/serverTypes/oracle.xml", "/sql/serverTypes/pgsql.xml", "/sql/serverTypes/ASA.xml", + "/sql/serverTypes/MSSQL.xml", "/sql/serverTypes/MSSQL.jTDS.xml", "/sql/serverTypes/Sybase.xml", "/sql/serverTypes/Progress.xml", Modified: plugins/SQL/trunk/sql/SqlSubVFS.java =================================================================== --- plugins/SQL/trunk/sql/SqlSubVFS.java 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/SqlSubVFS.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -37,6 +37,11 @@ /** * Description of the Field + */ + protected Map objectTypes; + + /** + * Description of the Field * *@since */ @@ -45,13 +50,32 @@ /** * Description of the Field */ - protected final static int TABLEGROUP_LEVEL = 2; + protected final static int OBJECTGROUP_LEVEL = SqlVFS.DB_LEVEL + 1; /** * Description of the Field */ - protected final static int TABLE_LEVEL = 3; + public final static int OBJECT_TYPE_LEVEL = OBJECTGROUP_LEVEL + 1; + /** + * Description of the Field + */ + protected final static int OBJECT_LEVEL = OBJECT_TYPE_LEVEL + 1; + /** + * Description of the Field + */ + protected final static int OBJECT_ACTION_LEVEL = OBJECT_LEVEL + 1; + public SqlSubVFS() + { + objectTypes = new HashMap(); + objectTypes.put( "Tables", + new TableObjectType( "selectTablesInGroup" ) ); + } + protected SqlSubVFS( Map objectTypes ) + { + this.objectTypes = objectTypes; + } + /** * Description of the Method * @@ -76,33 +100,75 @@ VFS.DirectoryEntry[] retval = null; int i; + ObjectType oType; + String group; + Object args[]; switch ( level ) { case SqlVFS.DB_LEVEL: - retval = getEntriesFromDb( session, path, comp, rec, level, - "selectTableGroups", + "selectObjectGroups", null ); break; - case TABLEGROUP_LEVEL: + case OBJECTGROUP_LEVEL: + retval = new VFS.DirectoryEntry[objectTypes.size()]; + i = 0; + for ( Iterator e = objectTypes.keySet().iterator(); e.hasNext(); ) + { + final String otname = (String) e.next(); + final VFSObjectRec r = new VFSObjectRec( otname ); + r.setDir( path ); + retval[i++] = + _getDirectoryEntry( session, r, comp, level + 1 ); + } + break; - final String tgName = SqlVFS.getPathComponent( path, TABLEGROUP_LEVEL ); + case OBJECT_TYPE_LEVEL: - retval = getEntriesFromDb( session, - path, - comp, - rec, - level, - "selectTablesInGroup", - new Object[]{tgName} ); + oType = getObjectType( path ); + if ( oType != null ) + { + group = SqlVFS.getPathComponent( path, OBJECTGROUP_LEVEL ); + args = oType.getParameter() == null ? + new Object[]{group} : + new Object[]{group, oType.getParameter()}; + + retval = getEntriesFromDb( session, + path, + comp, + rec, + level, + oType.getStatementPurpose(), + args ); + } break; + + case OBJECT_LEVEL: + + oType = getObjectType( path ); + + if ( oType != null ) + { + group = SqlVFS.getPathComponent( path, OBJECTGROUP_LEVEL ); + args = oType.getParameter() == null ? + new Object[]{group} : + new Object[]{group, oType.getParameter()}; + + retval = getObjectActions( session, + path, + comp, + level, + rec, + args ); + } + break; } Log.log( Log.DEBUG, SqlSubVFS.class, "Listed total " + ( retval == null ? -1 : retval.length ) + " items" ); @@ -126,13 +192,24 @@ { Log.log( Log.DEBUG, SqlSubVFS.class, "Getting entry for [" + rec.path + "]/[" + rec.size + "]" ); return - new SqlDirectoryEntry( rec, level == TABLE_LEVEL ? + new SqlDirectoryEntry( rec, level == OBJECT_ACTION_LEVEL ? VFS.DirectoryEntry.FILE : VFS.DirectoryEntry.DIRECTORY ); } /** + * Gets the LevelDelimiter attribute of the ComplexVFS object + * + *@return The LevelDelimiter value + */ + public String getLevelDelimiter() + { + return "."; + } + + + /** * Description of the Method * *@param view Description of Parameter @@ -144,7 +221,9 @@ */ public boolean afterLoad( final View view, final Buffer buffer, final String path, int level ) { - buffer.setBooleanProperty( SqlVFS.RUN_ON_LOAD_PROPERTY, true ); + final ObjectType ot = getObjectType( path ); + if ( ot != null && ot.showResultSetAfterLoad() ) + buffer.setBooleanProperty( SqlVFS.RUN_ON_LOAD_PROPERTY, true ); return true; } @@ -167,9 +246,24 @@ boolean ignoreErrors, Component comp, int level ) throws IOException { - return new ByteArrayInputStream( ( "SELECT * FROM " + - vfs.getFileName( SqlVFS.normalize( vfs.getParentOfPath( path ) ) ) + "." + - vfs.getFileName( path ) ).getBytes() ); + final ObjectType ot = getObjectType( path ); + if ( ot == null ) + return null; + final String userName = SqlVFS.getPathComponent( path, OBJECTGROUP_LEVEL ); + if ( userName == null ) + return null; + final String objName = SqlVFS.getPathComponent( path, OBJECT_LEVEL ); + if ( objName == null ) + return null; + final SqlServerRecord rec = SqlVFS.getServerRecord( SqlVFS.getProject( session ), path ); + if ( rec == null ) + return null; + + final String text = ot.getText( path, rec, userName, objName ); + if ( text == null ) + return null; + + return new ByteArrayInputStream( text.getBytes() ); } @@ -189,6 +283,23 @@ } + protected VFS.DirectoryEntry[] getObjectActions( Object session, + String path, + Component comp, + int level, + SqlServerRecord rec, + Object[] stmtParams ) + throws IOException + { + final VFS.DirectoryEntry[] retval = new VFS.DirectoryEntry[1]; + final VFSObjectRec r = new VFSObjectRec( jEdit.getProperty( "sql.vfs.actions.Contents" ) ); + r.setDir( path ); + retval[0] = _getDirectoryEntry( session, r, comp, level + 1 ); + + return retval; + } + + /** * Gets the EntriesFromDb attribute of the SqlSubVFS object * @@ -244,7 +355,7 @@ protected java.util.List getVFSObjectsList( SqlServerRecord rec, String stmtName, Object args[] ) { Log.log( Log.DEBUG, SqlServerRecord.class, - "Looking for vfs objects in:" ); + "Looking for vfs objects in rec " + rec + ":" ); if ( args != null ) for ( int i = args.length; --i >= 0; ) Log.log( Log.DEBUG, SqlServerRecord.class, @@ -326,6 +437,22 @@ /** + * Gets the ObjectType attribute of the ComplexVFS object + * + *@param path Description of Parameter + *@return The ObjectType value + *@since + */ + protected ObjectType getObjectType( String path ) + { + final String otName = SqlVFS.getPathComponent( path, OBJECT_TYPE_LEVEL ); + if ( otName == null ) + return null; + return (ObjectType) objectTypes.get( otName ); + } + + + /** * Description of the Class * *@author svu @@ -377,5 +504,53 @@ this.path = path + SqlVFS.separatorString + this.path; } } + + /** + * Description of the Interface + * + *@author svu + *@created 05 December 2003 + */ + public interface ObjectType + { + /** + * Gets the statementPurpose attribute of the ObjectType object + * + *@return The statementPurpose value + */ + public String getStatementPurpose(); + + + /** + * Gets the parameter attribute of the ObjectType object + * + *@return The parameter value + */ + public Object getParameter(); + + + /** + * Description of the Method + * + *@return Description of the Return Value + */ + public boolean showResultSetAfterLoad(); + + + /** + * Gets the text attribute of the ObjectType object + * + *@param path Description of the Parameter + *@param rec Description of the Parameter + *@param userName Description of the Parameter + *@param objectName Description of the Parameter + *@return The text value + */ + public String getText( String path, + SqlServerRecord rec, + String userName, + String objectName ); + + } } Added: plugins/SQL/trunk/sql/TableObjectType.java =================================================================== --- plugins/SQL/trunk/sql/TableObjectType.java (rev 0) +++ plugins/SQL/trunk/sql/TableObjectType.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -0,0 +1,108 @@ +/** + * TableObjectType.java - Sql Plugin + * Copyright (C) 2001 Sergey V. Udaltsov + * sv...@us... + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +package sql; + +import java.io.*; +import java.util.*; + +import sql.*; + +/** + * Description of the Class + * + * @author svu + */ +public class TableObjectType implements SqlSubVFS.ObjectType +{ + protected String stmtName; + + + /** + *Constructor for the TableObjectType object + * + * @param stmtName Description of Parameter + * @since + */ + public TableObjectType( String stmtName ) + { + this.stmtName = stmtName; + } + + + /** + * Gets the StatementPurpose attribute of the TableObjectType object + * + * @return The StatementPurpose value + * @since + */ + public String getStatementPurpose() + { + return stmtName; + } + + + /** + * Gets the Parameter attribute of the TableObjectType object + * + * @return The Parameter value + * @since + */ + public Object getParameter() + { + return null; + } + + + /** + * Gets the Text attribute of the TableObjectType object + * + * @param path Description of Parameter + * @param rec Description of Parameter + * @param userName Description of Parameter + * @param objName Description of Parameter + * @return The Text value + * @since + */ + public String getText( String path, + SqlServerRecord rec, + String userName, + String objName ) + { + return "SELECT * FROM " + + userName + + ( rec.getServerType().getSubVFS() ).getLevelDelimiter() + + objName; + } + + + /** + * Description of the Method + * + * @return Description of the Returned Value + * @since + */ + public boolean showResultSetAfterLoad() + { + return true; + } + +} + Modified: plugins/SQL/trunk/sql/serverTypes/ASA.xml =================================================================== --- plugins/SQL/trunk/sql/serverTypes/ASA.xml 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/serverTypes/ASA.xml 2006-11-12 16:16:51 UTC (rev 8021) @@ -34,7 +34,7 @@ The concrete "purposes" depend on the server type and class named in <vfs> tag Some standard ones are: - - selectTableGroups: + - selectObjectGroups: used in VFS to get the list of the tablegroups - selectTablesInGroup: used in VFS to get the list of the tables in the group @@ -43,7 +43,7 @@ oracle.xml) --> - <statement purpose="selectTableGroups"> + <statement purpose="selectObjectGroups"> SELECT DISTINCT creator AS tableGroup FROM sys.syscatalog </statement> Modified: plugins/SQL/trunk/sql/serverTypes/ComplexVFS.java =================================================================== --- plugins/SQL/trunk/sql/serverTypes/ComplexVFS.java 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/serverTypes/ComplexVFS.java 2006-11-12 16:16:51 UTC (rev 8021) @@ -25,7 +25,6 @@ import org.gjt.sp.util.*; import sql.*; -import sql.serverTypes.complex.*; /** * Description of the Class @@ -35,267 +34,14 @@ */ public abstract class ComplexVFS extends SqlSubVFS { - /** - * Description of the Field - */ - protected Map objectTypes; - /** - * Description of the Field - * - *@since - */ - public final static int SCHEMA_LEVEL = SqlVFS.DB_LEVEL + 1; - /** - * Description of the Field - * - *@since - */ - public final static int OBJECT_TYPE_LEVEL = SCHEMA_LEVEL + 1; - /** - * Description of the Field - * - *@since - */ - public final static int OBJECT_LEVEL = OBJECT_TYPE_LEVEL + 1; - - - /** * Constructor for the ComplexVFS object * *@param objectTypes Description of Parameter */ protected ComplexVFS( Map objectTypes ) { - this.objectTypes = objectTypes; + super( objectTypes ); } - - - /** - * Gets the LevelDelimiter attribute of the ComplexVFS object - * - *@return The LevelDelimiter value - */ - public String getLevelDelimiter() - { - return "."; - } - - - /** - * Description of the Method - * - *@param session Description of Parameter - *@param path Description of Parameter - *@param comp Description of Parameter - *@param rec Description of Parameter - *@param level Description of Parameter - *@return Description of the Returned Value - *@exception IOException Description of Exception - *@since - */ - public VFS.DirectoryEntry[] _listDirectory( Object session, String path, - Component comp, SqlServerRecord rec, int level ) - throws IOException - { - Log.log( Log.DEBUG, ComplexVFS.class, - "Listing " + path ); - VFS.DirectoryEntry[] retval = null; - - int i; - int idx; - - switch ( level ) - { - case SqlVFS.DB_LEVEL: - - retval = getEntriesFromDb( session, - path, - comp, - rec, - level, - "selectSchemas", - null ); - - break; - case SCHEMA_LEVEL: - retval = new VFS.DirectoryEntry[objectTypes.size()]; - i = 0; - for ( Iterator e = objectTypes.keySet().iterator(); e.hasNext(); ) - { - final String otname = (String) e.next(); - final VFSObjectRec r = new VFSObjectRec( otname ); - r.setDir( path ); - retval[i++] = - _getDirectoryEntry( session, r, comp, level + 1 ); - } - break; - case OBJECT_TYPE_LEVEL: - final ObjectType oType = getObjectType( path ); - - if ( oType != null ) - { - final String schema = SqlVFS.getPathComponent( path, SCHEMA_LEVEL ); - final Object args[] = oType.getParameter() == null ? - new Object[]{schema} : - new Object[]{schema, oType.getParameter()}; - - retval = getEntriesFromDb( session, - path, - comp, - rec, - level, - oType.getStatementPurpose(), - args ); - } - } - Log.log( Log.DEBUG, ComplexVFS.class, - "Listed total " + ( retval == null ? -1 : retval.length ) + " items" ); - return retval; - } - - - /** - * Description of the Method - * - *@param session Description of Parameter - *@param comp Description of Parameter - *@param level Description of Parameter - *@param rec Description of the Parameter - *@return Description of the Returned Value - *@exception IOException Description of Exception - *@since - */ - public VFS.DirectoryEntry _getDirectoryEntry( Object session, VFSObjectRec rec, - Component comp, int level ) - throws IOException - { - Log.log( Log.DEBUG, ComplexVFS.class, "Getting entry for [" + rec.path + "]/[" + rec.size + "]" ); - return new SqlDirectoryEntry( rec, level == OBJECT_LEVEL ? - VFS.DirectoryEntry.FILE : VFS.DirectoryEntry.DIRECTORY ); - } - - - /** - * Description of the Method - * - *@param view Description of Parameter - *@param buffer Description of Parameter - *@param path Description of Parameter - *@param level Description of Parameter - *@return Description of the Returned Value - *@since - */ - public boolean afterLoad( final View view, final Buffer buffer, final String path, int level ) - { - final ObjectType ot = getObjectType( path ); - if ( ot != null && ot.showResultSetAfterLoad() ) - buffer.setBooleanProperty( SqlVFS.RUN_ON_LOAD_PROPERTY, true ); - - return true; - } - - - /** - * Description of the Method - * - *@param vfs Description of Parameter - *@param session Description of Parameter - *@param path Description of Parameter - *@param ignoreErrors Description of Parameter - *@param comp Description of Parameter - *@param level Description of Parameter - *@return Description of the Returned Value - *@exception IOException Description of Exception - *@since - */ - public InputStream _createInputStream( VFS vfs, Object session, String path, - boolean ignoreErrors, Component comp, int level ) - throws IOException - { - final ObjectType ot = getObjectType( path ); - if ( ot == null ) - return null; - final String userName = SqlVFS.getPathComponent( path, ComplexVFS.SCHEMA_LEVEL ); - if ( userName == null ) - return null; - final String objName = SqlVFS.getPathComponent( path, ComplexVFS.OBJECT_LEVEL ); - if ( objName == null ) - return null; - final SqlServerRecord rec = SqlVFS.getServerRecord( SqlVFS.getProject( session ), path ); - if ( rec == null ) - return null; - - final String text = ot.getText( path, rec, userName, objName ); - if ( text == null ) - return null; - - return new ByteArrayInputStream( text.getBytes() ); - } - - - /** - * Gets the ObjectType attribute of the ComplexVFS object - * - *@param path Description of Parameter - *@return The ObjectType value - *@since - */ - protected ObjectType getObjectType( String path ) - { - final String otName = SqlVFS.getPathComponent( path, OBJECT_TYPE_LEVEL ); - if ( otName == null ) - return null; - return (ObjectType) objectTypes.get( otName ); - } - - - /** - * Description of the Interface - * - *@author svu - *@created 05 December 2003 - */ - public interface ObjectType - { - /** - * Gets the statementPurpose attribute of the ObjectType object - * - *@return The statementPurpose value - */ - public String getStatementPurpose(); - - - /** - * Gets the parameter attribute of the ObjectType object - * - *@return The parameter value - */ - public Object getParameter(); - - - /** - * Description of the Method - * - *@return Description of the Return Value - */ - public boolean showResultSetAfterLoad(); - - - /** - * Gets the text attribute of the ObjectType object - * - *@param path Description of the Parameter - *@param rec Description of the Parameter - *@param userName Description of the Parameter - *@param objectName Description of the Parameter - *@return The text value - */ - public String getText( String path, - SqlServerRecord rec, - String userName, - String objectName ); - - } } Modified: plugins/SQL/trunk/sql/serverTypes/Derby.xml =================================================================== --- plugins/SQL/trunk/sql/serverTypes/Derby.xml 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/serverTypes/Derby.xml 2006-11-12 16:16:51 UTC (rev 8021) @@ -27,14 +27,14 @@ <statements> - <!-- Retrieve the Schemas that have a child table/view --> - <statement purpose="selectTableGroups"> + <!-- Retrieve the Groups that have a child table/view --> + <statement purpose="selectObjectGroups"> select distinct s.schemaname from sys.sysschemas s, sys.systables t where s.schemaid = t.schemaid </statement> - <!-- For each Schema from selectTableGroups, show it's tables and views --> + <!-- For each Groups from selectObjectGroups, show it's tables and views --> <statement purpose="selectTablesInGroup"> select t.tablename from sys.sysschemas s, sys.systables t Modified: plugins/SQL/trunk/sql/serverTypes/MSSQL.jTDS.xml =================================================================== --- plugins/SQL/trunk/sql/serverTypes/MSSQL.jTDS.xml 2006-11-12 00:36:46 UTC (rev 8020) +++ plugins/SQL/trunk/sql/serverTypes/MSSQL.jTDS.xml 2006-11-12 16:16:51 UTC (rev 8021) @@ -33,19 +33,19 @@ <statements> - <statement purpose="selectSchemas"> + <statement purpose="selectObjectGroups"> select name from master..sysdatabases order by name </statement> - <statement substMethod="text" purpose="selectTablesInSchema"> + <statement substMethod="text" purpose="selectTablesInGroup"> select name from {0}..sysobjects where type = ''U'' order by name </statement> - <statement substMethod="text" purpose="selectViewsInSchema"> + <statement substMethod="text" purpose="selectViewsInGroup"> select name from {0}..sysobjects where type = ''V'' order by name </statement> - <statement substMethod="text" purpose="selectCodeObjectsInSchema"> + <statement substMethod="text" purpose="selectCodeObjectsInGroup"> select name from {0}..sysobjects where type = ''{1}'' order by name </statement> @@ -59,7 +59,7 @@ The concrete "purposes" depend on the server type and class named in <vfs> tag Some standard ones are: - - selectTableGroups: + - selectObjectGroups: used in VFS to get the list of the tablegroups - selectTablesInGroup: used in VFS to get the list of the tables in the group @@ -68,7 +68,7 @@ oracle.xml) --> -<!-- <statement purpose="selectTableGroups"> +<!-- <statement purpose="selectObjectGroups"> SELECT DISTINCT creator AS tableGroup FROM sys.syscatalog </statement> Added: plugins/SQL/trunk/sql/serverTypes/MSSQL.xml =================================================================== --- plugins/SQL/trunk/sql/serverTypes/MSSQL.xml (rev 0) +++ plugins/SQL/trunk/sql/serverTypes/MSSQL.xml 2006-11-12 16:16:51 UTC (rev 8021) @@ -0,0 +1,88 @@ +<?xml version="1.0"?> + +<!DOCTYPE serverType SYSTEM "sqlServerType.dtd"> + +<serverType name="Microsoft SQL Server"> + +<!--The name of the JDBC driver --> + <driverClass>com.microsoft.jdbc.sqlserver.SQLServerDriver</driverClass> + + <vfs> + <driverClass>sql.serverTypes.SybaseVFS</driverClass> + </vfs> + + <defStatementDelimiterRegex>(?i)([\n\r]+go)+[\n\r]+</defStatementDelimiterRegex> + + <connection> + +<!-- These parameters affect the UI used to manage server records --> + <parameter name="host" default="127.0.0.1"/> + <parameter name="port" default="1433"/> + <parameter name="dbName" default="jedit"/> + <parameter name="extra" default=""/> + <parameter name="user" default=""/> + <parameter name="password" default=""/> + +<!-- + This string is used as a pattern for connecting to the database. + See DriverManager.getConnection() function. + Parameters named "user" and "password" are used directly in the function call. +--> + <string>jdbc:microsoft:sqlserver://{host}:{port};DatabaseName={dbName}{extra}</string> + </connection> + + <statements> + + <statement purpose="selectObjectGroups"> + select name from master..sysdatabas... [truncated message content] |