You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by rh...@apache.org on 2012/06/21 20:40:07 UTC
svn commit: r1352648 - in /db/derby/code/branches/10.9: ./
java/engine/org/apache/derby/diag/
java/engine/org/apache/derby/iapi/sql/dictionary/
java/engine/org/apache/derby/impl/sql/catalog/
java/testing/org/apache/derbyTesting/functionTests/tests/lang/
Author: rhillegas
Date: Thu Jun 21 18:40:06 2012
New Revision: 1352648
URL: http://svn.apache.org/viewvc?rev=1352648&view=rev
Log:
DERBY-5554: Port 1351714 and 1351795 from trunk to the 10.9 branch.
Modified:
db/derby/code/branches/10.9/ (props changed)
db/derby/code/branches/10.9/java/engine/org/apache/derby/diag/SpaceTable.java
db/derby/code/branches/10.9/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java
db/derby/code/branches/10.9/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
db/derby/code/branches/10.9/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java
Propchange: db/derby/code/branches/10.9/
------------------------------------------------------------------------------
Merged /db/derby/code/trunk:r1351714,1351795
Modified: db/derby/code/branches/10.9/java/engine/org/apache/derby/diag/SpaceTable.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.9/java/engine/org/apache/derby/diag/SpaceTable.java?rev=1352648&r1=1352647&r2=1352648&view=diff
==============================================================================
--- db/derby/code/branches/10.9/java/engine/org/apache/derby/diag/SpaceTable.java (original)
+++ db/derby/code/branches/10.9/java/engine/org/apache/derby/diag/SpaceTable.java Thu Jun 21 18:40:06 2012
@@ -91,6 +91,7 @@ import org.apache.derby.vti.VTIEnvironme
</LI>
<LI>ESTIMSPACESAVING bigint - not nullable. The estimated space which
could possibly be saved by compressing the conglomerate, in bytes.</LI>
+ <LI>TABLEID char(36) - not nullable. The UUID of the table.</LI>
</UL>
@@ -115,6 +116,7 @@ public class SpaceTable extends VTITempl
private SpaceInfo spaceInfo;
private TransactionController tc;
+ public SpaceTable() {}
public SpaceTable(String schemaName, String tableName)
{
@@ -133,24 +135,49 @@ public class SpaceTable extends VTITempl
DataDictionary dd = lcc.getDataDictionary();
if (schemaName == null)
- schemaName = lcc.getCurrentSchemaName();
+ { schemaName = lcc.getCurrentSchemaName(); }
- // if schemaName is null, it gets the default schema
- SchemaDescriptor sd = dd.getSchemaDescriptor(schemaName, tc, true);
- TableDescriptor td = dd.getTableDescriptor(tableName,sd, tc);
- if (td == null) // table does not exist
+ ConglomerateDescriptor[] cds;
+
+ if ( tableName != null )
+ {
+ // if schemaName is null, it gets the default schema
+ SchemaDescriptor sd = dd.getSchemaDescriptor(schemaName, tc, true);
+ TableDescriptor td = dd.getTableDescriptor(tableName,sd, tc);
+ if (td == null) // table does not exist
+ {
+ conglomTable = new ConglomInfo[0]; // make empty conglom table
+ return;
+ }
+ cds = td.getConglomerateDescriptors();
+ }
+ else // 0-arg constructor, no table name, get all conglomerates
{
- conglomTable = new ConglomInfo[0]; // make empty conglom table
- return;
+ cds = dd.getConglomerateDescriptors( null );
}
- ConglomerateDescriptor[] cds = td.getConglomerateDescriptors();
+
// initialize spaceTable
conglomTable = new ConglomInfo[cds.length];
for (int i = 0; i < cds.length; i++)
- conglomTable[i] = new ConglomInfo(
- cds[i].getConglomerateNumber(),
- cds[i].isIndex() ? cds[i].getConglomerateName() : tableName,
- cds[i].isIndex());
+ {
+ String conglomerateName;
+
+ if ( cds[i].isIndex() ) { conglomerateName = cds[i].getConglomerateName(); }
+ else if ( tableName != null ) { conglomerateName = tableName; }
+ else
+ {
+ // 0-arg constructor. need to ask data dictionary for name of table
+ conglomerateName = dd.getTableDescriptor( cds[i].getTableID() ).getName();
+ }
+
+ conglomTable[i] = new ConglomInfo
+ (
+ cds[i].getTableID().toString(),
+ cds[i].getConglomerateNumber(),
+ conglomerateName,
+ cds[i].isIndex()
+ );
+ }
}
@@ -227,7 +254,19 @@ public class SpaceTable extends VTITempl
public String getString(int columnNumber)
{
ConglomInfo conglomInfo = conglomTable[currentRow];
- String str = conglomInfo.getConglomName();
+ String str = null;
+
+ switch( columnNumber )
+ {
+ case 1:
+ str = conglomInfo.getConglomName();
+ break;
+ case 8:
+ str = conglomInfo.getTableID();
+ break;
+ default:
+ break;
+ }
wasNull = (str == null);
return str;
}
@@ -335,6 +374,7 @@ public class SpaceTable extends VTITempl
EmbedResultSetMetaData.getResultColumnDescriptor("NUMUNFILLEDPAGES", Types.BIGINT, false),
EmbedResultSetMetaData.getResultColumnDescriptor("PAGESIZE", Types.INTEGER, false),
EmbedResultSetMetaData.getResultColumnDescriptor("ESTIMSPACESAVING", Types.BIGINT, false),
+ EmbedResultSetMetaData.getResultColumnDescriptor("TABLEID", Types.CHAR, false, 36),
};
private static final ResultSetMetaData metadata = new EmbedResultSetMetaData(columnInfo);
@@ -343,17 +383,21 @@ public class SpaceTable extends VTITempl
class ConglomInfo
{
+ private String tableID;
private long conglomId;
private String conglomName;
private boolean isIndex;
- public ConglomInfo(long conglomId, String conglomName, boolean isIndex)
+ public ConglomInfo(String tableID, long conglomId, String conglomName, boolean isIndex)
{
+ this.tableID = tableID;
this.conglomId = conglomId;
this.conglomName = conglomName;
this.isIndex = isIndex;
}
+ public String getTableID() { return tableID; }
+
public long getConglomId()
{
return conglomId;
Modified: db/derby/code/branches/10.9/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.9/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java?rev=1352648&r1=1352647&r2=1352648&view=diff
==============================================================================
--- db/derby/code/branches/10.9/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java (original)
+++ db/derby/code/branches/10.9/java/engine/org/apache/derby/iapi/sql/dictionary/DataDictionary.java Thu Jun 21 18:40:06 2012
@@ -1420,7 +1420,8 @@ public interface DataDictionary
/**
* Get an array of ConglomerateDescriptors given the UUID. If it is a
* heap conglomerate or an index conglomerate not shared by a duplicate
- * index, the size of the return array is 1.
+ * index, the size of the return array is 1. If the uuid argument is null, then
+ * this method retrieves descriptors for all of the conglomerates in the database.
*
* @param uuid The UUID
*
Modified: db/derby/code/branches/10.9/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.9/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java?rev=1352648&r1=1352647&r2=1352648&view=diff
==============================================================================
--- db/derby/code/branches/10.9/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java (original)
+++ db/derby/code/branches/10.9/java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java Thu Jun 21 18:40:06 2012
@@ -7024,7 +7024,8 @@ public final class DataDictionaryImpl
/**
* Get an array of ConglomerateDescriptors given the UUID. If it is a
* heap conglomerate or an index conglomerate not shared by a duplicate
- * index, the size of the return array is 1.
+ * index, the size of the return array is 1. If the uuid argument is null, then
+ * this method retrieves descriptors for all of the conglomerates in the database.
*
* @param uuid The UUID
*
@@ -7040,23 +7041,37 @@ public final class DataDictionaryImpl
DataValueDescriptor UUIDStringOrderable;
TabInfoImpl ti = coreInfo[SYSCONGLOMERATES_CORE_NUM];
- /* Use UUIDStringOrderable in both start and stop positions for scan */
- UUIDStringOrderable = getIDValueAsCHAR(uuid);
-
- /* Set up the start/stop position for the scan */
- ExecIndexRow keyRow = exFactory.getIndexableRow(1);
- keyRow.setColumn(1, UUIDStringOrderable);
-
List cdl = newSList();
- getDescriptorViaIndex(
- SYSCONGLOMERATESRowFactory.SYSCONGLOMERATES_INDEX1_ID,
- keyRow,
- (ScanQualifier [][]) null,
- ti,
- (TupleDescriptor) null,
- cdl,
- false);
+ if ( uuid != null )
+ {
+ /* Use UUIDStringOrderable in both start and stop positions for scan */
+ UUIDStringOrderable = getIDValueAsCHAR(uuid);
+
+ /* Set up the start/stop position for the scan */
+ ExecIndexRow keyRow = exFactory.getIndexableRow(1);
+ keyRow.setColumn(1, UUIDStringOrderable);
+
+ getDescriptorViaIndex(
+ SYSCONGLOMERATESRowFactory.SYSCONGLOMERATES_INDEX1_ID,
+ keyRow,
+ (ScanQualifier [][]) null,
+ ti,
+ (TupleDescriptor) null,
+ cdl,
+ false);
+ }
+ else
+ {
+ getDescriptorViaHeap
+ (
+ null,
+ (ScanQualifier[][]) null,
+ ti,
+ (TupleDescriptor) null,
+ cdl
+ );
+ }
ConglomerateDescriptor[] cda = new ConglomerateDescriptor[cdl.size()];
cdl.toArray(cda);
Modified: db/derby/code/branches/10.9/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.9/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java?rev=1352648&r1=1352647&r2=1352648&view=diff
==============================================================================
--- db/derby/code/branches/10.9/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java (original)
+++ db/derby/code/branches/10.9/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java Thu Jun 21 18:40:06 2012
@@ -44,6 +44,12 @@ public final class SysDiagVTIMappingTest
// Name of the log file to use when testing VTIs that expect one.
private static final String testLogFile = "sys_vti_test_derby.tstlog";
+ private static final String[] ALL_SPACE_TABLE_COLUMNS =
+ {
+ "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
+ "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING", "TABLEID"
+ };
+
/**
* Public constructor required for running test as standalone JUnit.
*/
@@ -146,20 +152,30 @@ public final class SysDiagVTIMappingTest
st.executeUpdate("set schema APP");
+ // get table id
+ ResultSet rs1 = st.executeQuery
+ (
+ "select t.tableid from sys.systables t, sys.sysschemas s\n" +
+ "where t.schemaid = s.schemaid\n" +
+ "and s.schemaname = 'APP'\n" +
+ "and t.tablename = 'T1'"
+ );
+ rs1.next();
+ String tableID = rs1.getString( 1 );
+ rs1.close();
+
// These should all return 1 row for APP.T1.
// Two-argument direct call.
ResultSet rs = st.executeQuery(
"select * from TABLE(SYSCS_DIAG.SPACE_TABLE('APP', 'T1')) x");
- String [] expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
+ String [] expColNames = ALL_SPACE_TABLE_COLUMNS;
JDBC.assertColumnNames(rs, expColNames);
String [][] expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -168,14 +184,11 @@ public final class SysDiagVTIMappingTest
rs = st.executeQuery(
" select * from TABLE(SYSCS_DIAG.SPACE_TABLE('T1')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -188,14 +201,11 @@ public final class SysDiagVTIMappingTest
pSt.setString(2, "T1");
rs = pSt.executeQuery();
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -207,14 +217,11 @@ public final class SysDiagVTIMappingTest
pSt.setString(1, "T1");
rs = pSt.executeQuery();
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -225,9 +232,6 @@ public final class SysDiagVTIMappingTest
rs = st.executeQuery(
"select * from TABLE(SYSCS_DIAG.SPACE_TABLE('APP')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -235,9 +239,6 @@ public final class SysDiagVTIMappingTest
"select * from TABLE(SYSCS_DIAG.SPACE_TABLE('APP', "
+ "'NOTTHERE')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -245,9 +246,6 @@ public final class SysDiagVTIMappingTest
"select * from "
+ "TABLE(SYSCS_DIAG.SPACE_TABLE('SYSCS_DIAG', 'NOTTHERE')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -258,9 +256,6 @@ public final class SysDiagVTIMappingTest
"select * from "
+ "TABLE(SYSCS_DIAG.SPACE_TABLE('SYSCS_DIAG', 'LOCK_TABLE')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -278,14 +273,11 @@ public final class SysDiagVTIMappingTest
pSt.setString(2, "T1");
rs = pSt.executeQuery();
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -297,9 +289,6 @@ public final class SysDiagVTIMappingTest
pSt.setString(1, "T1");
rs = pSt.executeQuery();
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -309,9 +298,6 @@ public final class SysDiagVTIMappingTest
rs = st.executeQuery(
"select * from TABLE(SPACE_TABLE('LOCK_TABLE')) x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
JDBC.assertColumnNames(rs, expColNames);
JDBC.assertDrainResults(rs, 0);
@@ -343,14 +329,11 @@ public final class SysDiagVTIMappingTest
rs = st.executeQuery(
"SELECT * FROM NEW org.apache.derby.diag.SpaceTable('T1') as x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
- JDBC.assertColumnNames(rs, expColNames);
+ JDBC.assertColumnNames(rs, ALL_SPACE_TABLE_COLUMNS);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
@@ -359,17 +342,30 @@ public final class SysDiagVTIMappingTest
"SELECT * FROM NEW "
+ "org.apache.derby.diag.SpaceTable('APP', 'T1') as x");
- expColNames = new String [] {
- "CONGLOMERATENAME", "ISINDEX", "NUMALLOCATEDPAGES", "NUMFREEPAGES",
- "NUMUNFILLEDPAGES", "PAGESIZE", "ESTIMSPACESAVING"};
- JDBC.assertColumnNames(rs, expColNames);
+ JDBC.assertColumnNames(rs, ALL_SPACE_TABLE_COLUMNS);
expRS = new String [][]
{
- {"T1", "0", "1", "0", "1", "4096", "0"}
+ {"T1", "0", "1", "0", "1", "4096", "0", tableID}
};
JDBC.assertFullResultSet(rs, expRS, true);
+
+ // verify the syntax showcased in the Reference Guide section on SPACE_TABLE
+ // (after the changes introduced by DERBY-5554)
+
+ rs = st.executeQuery
+ (
+ "select t2.*\n" +
+ " from\n" +
+ " sys.systables systabs,\n" +
+ " table (syscs_diag.space_table()) as t2\n" +
+ " where systabs.tabletype = 'T'\n" +
+ " and systabs.tableid = t2.tableid\n"
+ );
+
+ JDBC.assertColumnNames(rs, ALL_SPACE_TABLE_COLUMNS);
+ JDBC.assertFullResultSet(rs, expRS, true);
// Now do some sanity checking to make sure SPACE_TABLE cannot be
// used in any illegal ways.
@@ -383,6 +379,104 @@ public final class SysDiagVTIMappingTest
}
/**
+ * Test the 0-arg constructor of the SPACE_TABLE vti. See DERBY-5554.
+ */
+ public void testSpaceTable_0argConstructor() throws Exception
+ {
+ Statement st = createStatement();
+ ResultSet rs = st.executeQuery
+ (
+ "select conglomeratename, isindex, pagesize, tableid\n" +
+ "from table(syscs_diag.space_table()) x\n" +
+ "where conglomeratename like 'SYS%'\n" +
+ "order by conglomeratename"
+ );
+
+ String[] columnNames =
+ {
+ "CONGLOMERATENAME", "ISINDEX", "PAGESIZE", "TABLEID"
+ };
+ JDBC.assertColumnNames( rs, columnNames );
+
+ String[][] expRS = new String [][]
+ {
+ { "SYSALIASES", "0", "4096", "c013800d-00d7-ddbd-08ce-000a0a411400" },
+ { "SYSALIASES_INDEX1", "1", "4096", "c013800d-00d7-ddbd-08ce-000a0a411400" },
+ { "SYSALIASES_INDEX2", "1", "4096", "c013800d-00d7-ddbd-08ce-000a0a411400" },
+ { "SYSALIASES_INDEX3", "1", "4096", "c013800d-00d7-ddbd-08ce-000a0a411400" },
+ { "SYSCHECKS", "0", "4096", "80000056-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCHECKS_INDEX1", "1", "4096", "80000056-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCOLPERMS", "0", "4096", "286cc01e-0103-0e39-b8e7-00000010f010" },
+ { "SYSCOLPERMS_INDEX1", "1", "4096", "286cc01e-0103-0e39-b8e7-00000010f010" },
+ { "SYSCOLPERMS_INDEX2", "1", "4096", "286cc01e-0103-0e39-b8e7-00000010f010" },
+ { "SYSCOLPERMS_INDEX3", "1", "4096", "286cc01e-0103-0e39-b8e7-00000010f010" },
+ { "SYSCOLUMNS", "0", "4096", "8000001e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCOLUMNS_INDEX1", "1", "4096", "8000001e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCOLUMNS_INDEX2", "1", "4096", "8000001e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONGLOMERATES", "0", "4096", "80000010-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONGLOMERATES_INDEX1", "1", "4096", "80000010-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONGLOMERATES_INDEX2", "1", "4096", "80000010-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONGLOMERATES_INDEX3", "1", "4096", "80000010-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONSTRAINTS", "0", "4096", "8000002f-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONSTRAINTS_INDEX1", "1", "4096", "8000002f-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONSTRAINTS_INDEX2", "1", "4096", "8000002f-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSCONSTRAINTS_INDEX3", "1", "4096", "8000002f-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSDEPENDS", "0", "4096", "8000003e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSDEPENDS_INDEX1", "1", "4096", "8000003e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSDEPENDS_INDEX2", "1", "4096", "8000003e-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSDUMMY1", "0", "4096", "c013800d-00f8-5b70-bea3-00000019ed88" },
+ { "SYSFILES", "0", "4096", "80000000-00d3-e222-873f-000a0a0b1900" },
+ { "SYSFILES_INDEX1", "1", "4096", "80000000-00d3-e222-873f-000a0a0b1900" },
+ { "SYSFILES_INDEX2", "1", "4096", "80000000-00d3-e222-873f-000a0a0b1900" },
+ { "SYSFOREIGNKEYS", "0", "4096", "8000005b-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSFOREIGNKEYS_INDEX1", "1", "4096", "8000005b-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSFOREIGNKEYS_INDEX2", "1", "4096", "8000005b-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSKEYS", "0", "4096", "80000039-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSKEYS_INDEX1", "1", "4096", "80000039-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSPERMS", "0", "4096", "9810800c-0121-c5e1-a2f5-00000043e718" },
+ { "SYSPERMS_INDEX1", "1", "4096", "9810800c-0121-c5e1-a2f5-00000043e718" },
+ { "SYSPERMS_INDEX2", "1", "4096", "9810800c-0121-c5e1-a2f5-00000043e718" },
+ { "SYSPERMS_INDEX3", "1", "4096", "9810800c-0121-c5e1-a2f5-00000043e718" },
+ { "SYSROLES", "0", "4096", "e03f4017-0115-382c-08df-ffffe275b270" },
+ { "SYSROLES_INDEX1", "1", "4096", "e03f4017-0115-382c-08df-ffffe275b270" },
+ { "SYSROLES_INDEX2", "1", "4096", "e03f4017-0115-382c-08df-ffffe275b270" },
+ { "SYSROLES_INDEX3", "1", "4096", "e03f4017-0115-382c-08df-ffffe275b270" },
+ { "SYSROUTINEPERMS", "0", "4096", "2057c01b-0103-0e39-b8e7-00000010f010" },
+ { "SYSROUTINEPERMS_INDEX1", "1", "4096", "2057c01b-0103-0e39-b8e7-00000010f010" },
+ { "SYSROUTINEPERMS_INDEX2", "1", "4096", "2057c01b-0103-0e39-b8e7-00000010f010" },
+ { "SYSROUTINEPERMS_INDEX3", "1", "4096", "2057c01b-0103-0e39-b8e7-00000010f010" },
+ { "SYSSCHEMAS", "0", "4096", "80000022-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSSCHEMAS_INDEX1", "1", "4096", "80000022-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSSCHEMAS_INDEX2", "1", "4096", "80000022-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSSEQUENCES", "0", "4096", "9810800c-0121-c5e2-e794-00000043e718" },
+ { "SYSSEQUENCES_INDEX1", "1", "4096", "9810800c-0121-c5e2-e794-00000043e718" },
+ { "SYSSEQUENCES_INDEX2", "1", "4096", "9810800c-0121-c5e2-e794-00000043e718" },
+ { "SYSSTATEMENTS", "0", "4096", "80000000-00d1-15f7-ab70-000a0a0b1500" },
+ { "SYSSTATEMENTS_INDEX1", "1", "4096", "80000000-00d1-15f7-ab70-000a0a0b1500" },
+ { "SYSSTATEMENTS_INDEX2", "1", "4096", "80000000-00d1-15f7-ab70-000a0a0b1500" },
+ { "SYSSTATISTICS", "0", "4096", "f81e0010-00e3-6612-5a96-009e3a3b5e00" },
+ { "SYSSTATISTICS_INDEX1", "1", "4096", "f81e0010-00e3-6612-5a96-009e3a3b5e00" },
+ { "SYSTABLEPERMS", "0", "4096", "b8450018-0103-0e39-b8e7-00000010f010" },
+ { "SYSTABLEPERMS_INDEX1", "1", "4096", "b8450018-0103-0e39-b8e7-00000010f010" },
+ { "SYSTABLEPERMS_INDEX2", "1", "4096", "b8450018-0103-0e39-b8e7-00000010f010" },
+ { "SYSTABLEPERMS_INDEX3", "1", "4096", "b8450018-0103-0e39-b8e7-00000010f010" },
+ { "SYSTABLES", "0", "4096", "80000018-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSTABLES_INDEX1", "1", "4096", "80000018-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSTABLES_INDEX2", "1", "4096", "80000018-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSTRIGGERS", "0", "4096", "c013800d-00d7-c025-4809-000a0a411200" },
+ { "SYSTRIGGERS_INDEX1", "1", "4096", "c013800d-00d7-c025-4809-000a0a411200" },
+ { "SYSTRIGGERS_INDEX2", "1", "4096", "c013800d-00d7-c025-4809-000a0a411200" },
+ { "SYSTRIGGERS_INDEX3", "1", "4096", "c013800d-00d7-c025-4809-000a0a411200" },
+ { "SYSUSERS", "0", "4096", "9810800c-0134-14a5-40c1-000004f61f90" },
+ { "SYSUSERS_INDEX1", "1", "4096", "9810800c-0134-14a5-40c1-000004f61f90" },
+ { "SYSVIEWS", "0", "4096", "8000004d-00d0-fd77-3ed8-000a0a0b1900" },
+ { "SYSVIEWS_INDEX1", "1", "4096", "8000004d-00d0-fd77-3ed8-000a0a0b1900" },
+ };
+
+ JDBC.assertFullResultSet(rs, expRS, true);
+ }
+
+ /**
* Just run a couple of sanity checks to makes sure the table
* mapping for org.apache.derby.diag.StatementDuration() works
* correctly and fails where it is supposed to.