diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-11-09 11:07:29 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-11-09 11:07:29 +0000 |
commit | 941bb05a749850ae7d65d57d0c8ad23e5d5d99ea (patch) | |
tree | 8c06f58cac5cd91fa029a5be25c793bf7ae1c786 /connectivity/qa | |
parent | f34b9644ea8142da822820cfc9cfa817c7689e31 (diff) |
INTEGRATION: CWS hsqldb (1.1.2); FILE ADDED
2004/08/25 08:04:20 oj 1.1.2.1: #i33348# new driver for hsqldb
Diffstat (limited to 'connectivity/qa')
-rw-r--r-- | connectivity/qa/drivers/hsqldb/DatabaseMetaData.java | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/connectivity/qa/drivers/hsqldb/DatabaseMetaData.java b/connectivity/qa/drivers/hsqldb/DatabaseMetaData.java new file mode 100644 index 000000000000..ddc45a4e0ca1 --- /dev/null +++ b/connectivity/qa/drivers/hsqldb/DatabaseMetaData.java @@ -0,0 +1,152 @@ +/* + * Class.java + * + * Created on June 23, 2003, 3:19 PM + */ + +/** + * + * @author oj93728 + */ +package qa.drivers.hsqldb; +import java.sql.*; +import com.sun.star.uno.UnoRuntime; +import complexlib.ComplexTestCase; +import java.lang.reflect.Method; +import qa.drivers.hsqldb.DriverTest; + + +public class DatabaseMetaData { + + private java.sql.DatabaseMetaData m_xMD; + private DriverTest m_TestCase; + + /** Creates a new instance of DatabaseMetaData */ + public DatabaseMetaData(DriverTest _testCase,java.sql.DatabaseMetaData _xmd) { + m_TestCase = _testCase; + m_xMD = _xmd; + } + + protected void assure(String _sText,boolean btest){ + m_TestCase.assurePublic(_sText,btest); + } + + protected void testMethod(String sName,Class[] params,Object[] objParams,int nCount){ + try { + System.out.println("test method " + sName); + + Method aGet = ((Object)m_xMD).getClass().getDeclaredMethod(sName, params); + if ( aGet != null ){ + ResultSet rs = (ResultSet)aGet.invoke(m_xMD, objParams); + ResultSetMetaData rsMD = rs.getMetaData(); + + assure( sName + " returns wrong column count" , rsMD.getColumnCount() == nCount); + } + else + assure( sName + " returns wrong column count" , false); + } catch( java.lang.NoSuchMethodException ex ) { + assure("Method " + sName + " could not be found!",false); + } catch( java.lang.IllegalAccessException ex ) { + assure("IllegalAccessException!",false); + } catch( SQLException ex ) { + assure("SQLException occured: " + ex.getMessage() ,false); + } catch( java.lang.reflect.InvocationTargetException ex ) { + assure("IllegalAccessException!",false); + } finally { + + } + } + + public void test(){ + + // try { + + try{ + ResultSet rs = m_xMD.getTables(null,null,"TESTCASE",null); + while ( rs.next() ) + { + String catalog = rs.getString( 1 ); + if ( rs.wasNull() ) + catalog = null; + + String schema = rs.getString( 2 ); + if ( rs.wasNull() ) + schema = null; + + String table = rs.getString( 3 ); + String type = rs.getString( 4 ); + System.out.println("Catalog: " + catalog + " Schema: " + schema + " Table: " + table + " Type: " + type); + System.out.println("------------------ Columns ------------------"); + ResultSet rsColumns = m_xMD.getColumns(catalog,schema,table,"%"); + while ( rsColumns.next() ) + { + System.out.println("Column: " + rsColumns.getString( 4 ) + " Type: " + rsColumns.getInt( 5 ) + " TypeName: " + rsColumns.getString( 6 ) ); + } + + } + } catch(Exception e){ + + } + //testMethod("getTypeInfo", zclass,empty,17); +/* + Class[] zclass = new Class[]{}; + Object[] empty = new Object[]{}; + testMethod("getCatalogs", zclass,empty,1); + + testMethod("getSchemas", zclass,empty,2); + testMethod("getTableTypes", zclass,empty,1); + Class[] a4 = new Class[4]; + Object[] o4 = new Object[4]; + a4[0] = Class.forName("java.lang.Object"); + a4[1] = Class.forName("java.lang.String"); + a4[2] = Class.forName("java.lang.String"); + a4[3] = Class.forName("java.lang.String"); + + o4[0] = null; + o4[1] = null; + o4[2] = null; + o4[3] = "%"; + testMethod("getColumnPrivileges", a4,o4,7); + testMethod("getColumns", a4,o4,18); + testMethod("getProcedureColumns", a4,o4,13); + testMethod("getColumns", a4,o4,18); + + Class[] a3 = new Class[3]; + Object[] o3 = new Object[3]; + a3[0] = Class.forName("java.lang.Object"); + a3[1] = Class.forName("java.lang.String"); + a3[2] = Class.forName("java.lang.String"); + + o3[0] = null; + o3[1] = null; + o3[2] = "%"; + + testMethod("getExportedKeys", a3,o3,14); + testMethod("getImportedKeys", a3,o3,14); + testMethod("getPrimaryKeys", a3,o3,14); + testMethod("getProcedures", a3,o3,5); + testMethod("getTablePrivileges", a3,o3,6); + testMethod("getVersionColumns", a3,o3,7); + // testMethod("getCrossReference", a3,o3,14); + + } catch( java.lang.ClassNotFoundException ex) { + assure("ClassNotFoundException: " + ex.getMessage() ,false); + } + */ + } +/* + public com.sun.star.sdbc.XResultSet getCrossReference(Object obj, String str, String str2, Object obj3, String str4, String str5) { + } + public com.sun.star.sdbc.XResultSet getIndexInfo(Object obj, String str, String str2, boolean param, boolean param4) { + } + + public com.sun.star.sdbc.XResultSet getTables(Object obj, String str, String str2, String[] str3) { + } + + public com.sun.star.sdbc.XResultSet getUDTs(Object obj, String str, String str2, int[] values) { + } + + public com.sun.star.sdbc.XResultSet getBestRowIdentifier(Object obj, String str, String str2, int param, boolean param4) throws com.sun.star.sdbc.SQLException { + } + */ +} |