/*
* JBoss, Home of Professional Open Source.
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*/
package org.teiid.dynamicvdb;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import org.junit.Ignore;
import org.junit.Test;
import org.teiid.core.util.UnitTestUtil;
import org.teiid.jdbc.AbstractMMQueryTestCase;
/**
* Test the DatabaseMetadata results using the Parts VDB.
*/
@Ignore
public class TestVDBLessExecution extends AbstractMMQueryTestCase {
private static final String DQP_PROP_FILE = UnitTestUtil.getTestDataPath() + "/vdbless/dqp.properties;user=test"; //$NON-NLS-1$
private static final String VDB = "VDBLess"; //$NON-NLS-1$
@Test public void testExecution() {
getConnection(VDB, DQP_PROP_FILE);
executeAndAssertResults("select * from Example", new String[] { //$NON-NLS-1$
"TRADEID[string] NOTIONAL[integer]", //$NON-NLS-1$
"x 1", //$NON-NLS-1$
"y 2" //$NON-NLS-1$
});
closeConnection();
}
@Test public void testIntegrationExecution() {
getConnection(VDB, DQP_PROP_FILE);
executeAndAssertResults("select * from Example, Smalla where notional = intkey", new String[] { //$NON-NLS-1$
"TRADEID[string] NOTIONAL[integer] INTKEY[integer] STRINGKEY[string] INTNUM[integer] STRINGNUM[string] FLOATNUM[float] LONGNUM[long] DOUBLENUM[double] BYTENUM[short] DATEVALUE[date] TIMEVALUE[time] TIMESTAMPVALUE[timestamp] BOOLEANVALUE[short] CHARVALUE[string] SHORTVALUE[short] BIGINTEGERVALUE[long] BIGDECIMALVALUE[bigdecimal] OBJECTVALUE[string]", //$NON-NLS-1$
"x 1 1 1 -23 null -23.0 -23 -23.0 -127 2000-01-02 01:00:00 2000-01-01 00:00:01.0 1 0 -32767 -23 -23 -23", //$NON-NLS-1$
"y 2 2 2 -22 -22 null -22 -22.0 -126 2000-01-03 02:00:00 2000-01-01 00:00:02.0 0 1 -32766 -22 -22 -22", //$NON-NLS-1$
});
closeConnection();
}
/**
* We have no results to assert here since derby does not provide procedure resultset columns in their metadata.
*/
@Test public void testProcedureExecution() {
getConnection(VDB, DQP_PROP_FILE);
execute("exec Derby.SQLUDTS(null, null, null, null, null)"); //$NON-NLS-1$
closeConnection();
}
@Test public void testDatabaseMetaDataTables() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getTables(null, "SummitData", null, new String[] {"TABLE"}); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] TABLE_TYPE[string] REMARKS[string] TYPE_CAT[string] TYPE_SCHEM[string] TYPE_NAME[string] SELF_REFERENCING_COL_NAME[string] REF_GENERATION[string] ISPHYSICAL[boolean]", //$NON-NLS-1$
"VDBLess SummitData EXAMPLE TABLE null null null null null null true" //$NON-NLS-1$
});
closeConnection();
}
/**
* Ensures that system tables are still visible
*/
@Test public void testDatabaseMetaDataTables1() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getTables(null, null, "%Properties", null); //$NON-NLS-1$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] TABLE_TYPE[string] REMARKS[string] TYPE_CAT[string] TYPE_SCHEM[string] TYPE_NAME[string] SELF_REFERENCING_COL_NAME[string] REF_GENERATION[string] ISPHYSICAL[boolean]", //$NON-NLS-1$
"VDBLess System Properties SYSTEM TABLE null null null null null null true" //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataColumns() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getColumns(null, "SummitData", null, "%"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] COLUMN_SIZE[integer] BUFFER_LENGTH[string] DECIMAL_DIGITS[integer] NUM_PREC_RADIX[integer] NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string] SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[integer] ORDINAL_POSITION[integer] IS_NULLABLE[string] SCOPE_CATALOG[string] SCOPE_SCHEMA[string] SCOPE_TABLE[string] SOURCE_DATA_TYPE[string] IS_AUTOINCREMENT[string]", //$NON-NLS-1$
"VDBLess SummitData EXAMPLE TRADEID 12 string 4000 null 0 0 2 null null null null 0 1 null null null null NO", //$NON-NLS-1$
"VDBLess SummitData EXAMPLE NOTIONAL 4 integer 10 null 0 0 2 null null null null 0 2 null null null null NO", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataColumns1() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getColumns(null, null, "%smalla", "%"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] COLUMN_SIZE[integer] BUFFER_LENGTH[string] DECIMAL_DIGITS[integer] NUM_PREC_RADIX[integer] NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string] SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[integer] ORDINAL_POSITION[integer] IS_NULLABLE[string] SCOPE_CATALOG[string] SCOPE_SCHEMA[string] SCOPE_TABLE[string] SOURCE_DATA_TYPE[string] IS_AUTOINCREMENT[string]", //$NON-NLS-1$
"VDBLess Derby SMALLA INTKEY 4 integer 10 null 0 10 0 null null null 0 1 YES null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA STRINGKEY 12 string 4000 null 0 0 0 null null null 20 2 YES null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA INTNUM 4 integer 10 null 0 10 1 null null null 0 3 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA STRINGNUM 12 string 4000 null 0 0 1 null null null 20 4 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA FLOATNUM 7 float 20 null 0 2 1 null null null 0 5 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA LONGNUM -5 long 19 null 0 10 1 null null null 0 6 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA DOUBLENUM 8 double 20 null 0 2 1 null null null 0 7 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA BYTENUM 5 short 5 null 0 10 1 null null null 0 8 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA DATEVALUE 91 date 10 null 0 10 1 null null null 0 9 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA TIMEVALUE 92 time 8 null 0 10 1 null null null 0 10 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA TIMESTAMPVALUE 93 timestamp 29 null 0 10 1 null null null 0 11 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA BOOLEANVALUE 5 short 5 null 0 10 1 null null null 0 12 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA CHARVALUE 12 string 4000 null 0 0 1 null null null 2 13 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA SHORTVALUE 5 short 5 null 0 10 1 null null null 0 14 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA BIGINTEGERVALUE -5 long 19 null 0 10 1 null null null 0 15 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA BIGDECIMALVALUE 2 bigdecimal 20 null 0 10 1 null null null 0 16 NO null null null null NO", //$NON-NLS-1$
"VDBLess Derby SMALLA OBJECTVALUE 12 string 4000 null 0 0 1 null null null 4096 17 NO null null null null NO", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataPrimaryKeys() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
//note - the use of null for the table name is a little against spec
this.internalResultSet = metadata.getPrimaryKeys(null, null, null);
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] COLUMN_NAME[string] KEY_SEQ[short] PK_NAME[string]", //$NON-NLS-1$
"VDBLess Derby FLIGHTS FLIGHT_ID 1 SQL090709161814150", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL FLIGHT_ID 1 FLTAVAIL_PK", //$NON-NLS-1$
"VDBLess Derby SMALLA INTKEY 1 SQL060110103634070", //$NON-NLS-1$
"VDBLess Derby SMALLB INTKEY 1 SQL060110103635170", //$NON-NLS-1$
"VDBLess Derby FLIGHTS SEGMENT_NUMBER 2 SQL090709161814150", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL SEGMENT_NUMBER 2 FLTAVAIL_PK", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataExportedKeys() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getExportedKeys("VDBLess", "Derby", "FLIGHTS"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]", //$NON-NLS-1$
"VDBLess Derby FLIGHTS FLIGHT_ID VDBLess Derby FLTAVAIL FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5", //$NON-NLS-1$
"VDBLess Derby FLIGHTS SEGMENT_NUMBER VDBLess Derby FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150 5" //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataImportedKeys() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getImportedKeys("VDBLess", "Derby", "FLTAVAIL"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]", //$NON-NLS-1$
"VDBLess Derby FLIGHTS FLIGHT_ID VDBLess Derby FLTAVAIL FLIGHT_ID 1 3 3 FLTS_FK SQL090709161814150 5", //$NON-NLS-1$
"VDBLess Derby FLIGHTS SEGMENT_NUMBER VDBLess Derby FLTAVAIL SEGMENT_NUMBER 2 3 3 FLTS_FK SQL090709161814150 5" //$NON-NLS-1$
});
this.internalResultSet = metadata.getImportedKeys(null, "Derby", "SMALLBRIDGE"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PKTABLE_CAT[string] PKTABLE_SCHEM[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_CAT[string] FKTABLE_SCHEM[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[integer] DELETE_RULE[integer] FK_NAME[string] PK_NAME[string] DEFERRABILITY[integer]", //$NON-NLS-1$
"VDBLess Derby SMALLA INTKEY VDBLess Derby SMALLBRIDGE AKEY 1 3 3 SMLA_FK SQL060110103634070 5", //$NON-NLS-1$
"VDBLess Derby SMALLB INTKEY VDBLess Derby SMALLBRIDGE BKEY 1 3 3 SMLB_FK SQL060110103635170 5", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataIndexInfo() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
//note - the use of null for the table name is a little against spec
this.internalResultSet = metadata.getIndexInfo(null, null, null, false, true);
assertResults(new String[] {
"TABLE_CAT[string] TABLE_SCHEM[string] TABLE_NAME[string] NON_UNIQUE[boolean] INDEX_QUALIFIER[string] INDEX_NAME[string] TYPE[integer] ORDINAL_POSITION[short] COLUMN_NAME[string] ASC_OR_DESC[string] CARDINALITY[integer] PAGES[integer] FILTER_CONDITION[string]", //$NON-NLS-1$
"VDBLess Derby FLIGHTS false null ORIGINDEX 0 1 ORIG_AIRPORT null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL false null SQL090709161840271 0 1 FLIGHT_ID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL false null SQL090709161840271 0 2 SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SMALLBRIDGE false null SQL090710102514590 0 1 AKEY null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SMALLBRIDGE false null SQL090710102514591 0 1 BKEY null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCOLUMNS false null SYSCOLUMNS_INDEX2 0 1 COLUMNDEFAULTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONGLOMERATES false null SYSCONGLOMERATES_INDEX1 0 1 CONGLOMERATEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONGLOMERATES false null SYSCONGLOMERATES_INDEX3 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONSTRAINTS false null SYSCONSTRAINTS_INDEX3 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSDEPENDS false null SYSDEPENDS_INDEX1 0 1 DEPENDENTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSDEPENDS false null SYSDEPENDS_INDEX2 0 1 PROVIDERID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSFOREIGNKEYS false null SYSFOREIGNKEYS_INDEX2 0 1 KEYCONSTRAINTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSTATISTICS false null SYSSTATISTICS_INDEX1 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSTATISTICS false null SYSSTATISTICS_INDEX1 0 2 REFERENCEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTRIGGERS false null SYSTRIGGERS_INDEX3 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTRIGGERS false null SYSTRIGGERS_INDEX3 0 2 CREATIONTIMESTAMP null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SMALLA true null SQL060110103634070 0 1 INTKEY null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SMALLB true null SQL060110103635170 0 1 INTKEY null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLIGHTS true null SQL090709161814150 0 1 FLIGHT_ID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLIGHTS true null SQL090709161814150 0 2 SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL true null SQL090709161840270 0 1 FLIGHT_ID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby FLTAVAIL true null SQL090709161840270 0 2 SEGMENT_NUMBER null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 1 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 2 ALIAS null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX1 0 3 NAMESPACE null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX2 0 1 ALIASID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX3 0 1 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSALIASES true null SYSALIASES_INDEX3 0 2 SPECIFICNAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCHECKS true null SYSCHECKS_INDEX1 0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCOLUMNS true null SYSCOLUMNS_INDEX1 0 1 REFERENCEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCOLUMNS true null SYSCOLUMNS_INDEX1 0 2 COLUMNNAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONGLOMERATES true null SYSCONGLOMERATES_INDEX2 0 1 CONGLOMERATENAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONGLOMERATES true null SYSCONGLOMERATES_INDEX2 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX1 0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX2 0 1 CONSTRAINTNAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSCONSTRAINTS true null SYSCONSTRAINTS_INDEX2 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSFILES true null SYSFILES_INDEX1 0 1 FILENAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSFILES true null SYSFILES_INDEX1 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSFILES true null SYSFILES_INDEX2 0 1 FILEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSFOREIGNKEYS true null SYSFOREIGNKEYS_INDEX1 0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSKEYS true null SYSKEYS_INDEX1 0 1 CONSTRAINTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSCHEMAS true null SYSSCHEMAS_INDEX1 0 1 SCHEMANAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSCHEMAS true null SYSSCHEMAS_INDEX2 0 1 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX1 0 1 STMTID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX2 0 1 STMTNAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSSTATEMENTS true null SYSSTATEMENTS_INDEX2 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTABLES true null SYSTABLES_INDEX1 0 1 TABLENAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTABLES true null SYSTABLES_INDEX1 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTABLES true null SYSTABLES_INDEX2 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX1 0 1 TRIGGERID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX2 0 1 TRIGGERNAME null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSTRIGGERS true null SYSTRIGGERS_INDEX2 0 2 SCHEMAID null 0 1 null", //$NON-NLS-1$
"VDBLess Derby SYSVIEWS true null SYSVIEWS_INDEX1 0 1 TABLEID null 0 1 null", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataProcedures() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getProcedures(null, "Derby", "%JAR"); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string] RESERVED_1[string] RESERVED_2[string] RESERVED_3[string] REMARKS[string] PROCEDURE_TYPE[short] SPECIFIC_NAME[string]", //$NON-NLS-1$
"VDBLess Derby INSTALL_JAR null null null null 1 INSTALL_JAR", //$NON-NLS-1$
"VDBLess Derby REMOVE_JAR null null null null 1 REMOVE_JAR", //$NON-NLS-1$
"VDBLess Derby REPLACE_JAR null null null null 1 REPLACE_JAR", //$NON-NLS-1$
});
closeConnection();
}
@Test public void testDatabaseMetaDataProcedureColumns() throws Exception {
Connection conn = getConnection(VDB, DQP_PROP_FILE);
DatabaseMetaData metadata = conn.getMetaData();
this.internalResultSet = metadata.getProcedureColumns(null, "Derby", "SQLUDTS", null); //$NON-NLS-1$ //$NON-NLS-2$
assertResults(new String[] {
"PROCEDURE_CAT[string] PROCEDURE_SCHEM[string] PROCEDURE_NAME[string] COLUMN_NAME[string] COLUMN_TYPE[short] DATA_TYPE[integer] TYPE_NAME[string] PRECISION[integer] LENGTH[integer] SCALE[short] RADIX[integer] NULLABLE[integer] REMARKS[string] COLUMN_DEF[string] SQL_DATA_TYPE[string] SQL_DATETIME_SUB[string] CHAR_OCTET_LENGTH[string] ORDINAL_POSITION[integer] IS_NULLABLE[string] SPECIFIC_NAME[string]", //$NON-NLS-1$
"VDBLess Derby SQLUDTS CATALOGNAME 1 12 string 128 256 0 0 1 null null null null null 1 YES SQLUDTS", //$NON-NLS-1$
"VDBLess Derby SQLUDTS SCHEMAPATTERN 1 12 string 128 256 0 0 1 null null null null null 2 YES SQLUDTS", //$NON-NLS-1$
"VDBLess Derby SQLUDTS TYPENAMEPATTERN 1 12 string 128 256 0 0 1 null null null null null 3 YES SQLUDTS", //$NON-NLS-1$
"VDBLess Derby SQLUDTS UDTTYPES 1 12 string 128 256 0 0 1 null null null null null 4 YES SQLUDTS", //$NON-NLS-1$
"VDBLess Derby SQLUDTS OPTIONS 1 12 string 4000 8000 0 0 1 null null null null null 5 YES SQLUDTS", //$NON-NLS-1$
});
closeConnection();
}
}