teiid SVN: r3817 - in branches/7.7.x: test-integration/common/src/test/resources/TestMMDatabaseMetaData and 1 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-24 10:34:40 -0500 (Tue, 24 Jan 2012)
New Revision: 3817
Modified:
branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
branches/7.7.x/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
branches/7.7.x/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected
Log:
TEIID-1908 adding standard type names to the jdbc type info
Modified: branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2012-01-23 20:36:36 UTC (rev 3816)
+++ branches/7.7.x/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2012-01-24 15:34:40 UTC (rev 3817)
@@ -1548,15 +1548,21 @@
records.add(Arrays.asList(createTypeInfoRow("boolean", "{b'", "}", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("byte", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("tinyint", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("long", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("bigint", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("char", "'", "'", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("bigdecimal",null, null, Boolean.FALSE, Boolean.TRUE, 10))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("decimal",null, null, Boolean.FALSE, Boolean.TRUE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("biginteger", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("integer", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("short", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("smallint", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("float", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("real", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("double", null, null, Boolean.FALSE, Boolean.FALSE, 10))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("string", "'", "'", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
+ records.add(Arrays.asList(createTypeInfoRow("varchar", "'", "'", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("xml", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("date", "{d'", "}", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("time", "{t'", "}", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
@@ -1595,7 +1601,8 @@
}
private Object[] createTypeInfoRow(String typeName, String prefix, String suffix, Boolean unsigned, Boolean fixedPrecScale, int radix){
- return new Object[] {typeName, new Integer(JDBCSQLTypeInfo.getSQLType(typeName)), ResultsMetadataDefaults.getDefaultPrecision(typeName), prefix, suffix, null, new Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE, typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
+ Class<?> clazz = DataTypeManager.getDataTypeClass(typeName);
+ return new Object[] {typeName, new Integer(JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(clazz)), ResultsMetadataDefaults.getDefaultPrecision(clazz), prefix, suffix, null, new Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE, typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
}
/**
Modified: branches/7.7.x/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
===================================================================
--- branches/7.7.x/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2012-01-23 20:36:36 UTC (rev 3816)
+++ branches/7.7.x/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2012-01-24 15:34:40 UTC (rev 3817)
@@ -2,15 +2,21 @@
TYPE_NAME DATA_TYPE PRECISION LITERAL_PREFIX LITERAL_SUFFIX CREATE_PARAMS NULLABLE CASE_SENSITIVE SEARCHABLE UNSIGNED_ATTRIBUTE FIXED_PREC_SCALE AUTO_INCREMENT LOCAL_TYPE_NAME MINIMUM_SCALE MAXIMUM_SCALE SQL_DATA_TYPE SQL_DATETIME_SUB NUM_PREC_RADIX
boolean -7 1 {b' } <null> 1 false 3 true true false boolean 0 255 <null> <null> 0
byte -6 3 <null> <null> <null> 1 false 3 true true false byte 0 255 <null> <null> 0
+tinyint -6 3 <null> <null> <null> 1 false 3 true true false tinyint 0 255 <null> <null> 0
long -5 19 <null> <null> <null> 1 false 3 false false false long 0 255 <null> <null> 10
+bigint -5 19 <null> <null> <null> 1 false 3 false false false bigint 0 255 <null> <null> 10
char 1 1 ' ' <null> 1 false 3 true true false char 0 255 <null> <null> 0
bigdecimal 2 20 <null> <null> <null> 1 false 3 false true false bigdecimal 0 255 <null> <null> 10
+decimal 2 20 <null> <null> <null> 1 false 3 false true false decimal 0 255 <null> <null> 10
biginteger 2 19 <null> <null> <null> 1 false 3 false false false biginteger 0 255 <null> <null> 10
integer 4 10 <null> <null> <null> 1 false 3 false false false integer 0 255 <null> <null> 10
short 5 5 <null> <null> <null> 1 false 3 false false false short 0 255 <null> <null> 10
+smallint 5 5 <null> <null> <null> 1 false 3 false false false smallint 0 255 <null> <null> 10
float 7 20 <null> <null> <null> 1 false 3 false false false float 0 255 <null> <null> 10
+real 7 20 <null> <null> <null> 1 false 3 false false false real 0 255 <null> <null> 10
double 8 20 <null> <null> <null> 1 false 3 false false false double 0 255 <null> <null> 10
string 12 4000 ' ' <null> 1 false 3 true true false string 0 255 <null> <null> 0
+varchar 12 4000 ' ' <null> 1 false 3 true true false varchar 0 255 <null> <null> 0
xml 2009 2147483647 <null> <null> <null> 1 false 3 true true false xml 0 255 <null> <null> 0
date 91 10 {d' } <null> 1 false 3 true true false date 0 255 <null> <null> 0
time 92 8 {t' } <null> 1 false 3 true true false time 0 255 <null> <null> 0
@@ -18,7 +24,7 @@
object 2000 2147483647 <null> <null> <null> 1 false 3 true true false object 0 255 <null> <null> 0
blob 2004 2147483647 <null> <null> <null> 1 false 3 true true false blob 0 255 <null> <null> 0
clob 2005 2147483647 <null> <null> <null> 1 false 3 true true false clob 0 255 <null> <null> 0
-Row Count : 18
+Row Count : 24
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS DataTypes 4000 4000 0 false false false false 0 true true false false
DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS DataTypes 11 10 0 false false false true 1 false true true true
Modified: branches/7.7.x/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected
===================================================================
--- branches/7.7.x/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected 2012-01-23 20:36:36 UTC (rev 3816)
+++ branches/7.7.x/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected 2012-01-24 15:34:40 UTC (rev 3817)
@@ -2,15 +2,21 @@
TYPE_NAME DATA_TYPE PRECISION LITERAL_PREFIX LITERAL_SUFFIX CREATE_PARAMS NULLABLE CASE_SENSITIVE SEARCHABLE UNSIGNED_ATTRIBUTE FIXED_PREC_SCALE AUTO_INCREMENT LOCAL_TYPE_NAME MINIMUM_SCALE MAXIMUM_SCALE SQL_DATA_TYPE SQL_DATETIME_SUB NUM_PREC_RADIX
boolean -7 1 {b' } <null> 1 false 3 true true false boolean 0 255 <null> <null> 0
byte -6 3 <null> <null> <null> 1 false 3 true true false byte 0 255 <null> <null> 0
+tinyint -6 3 <null> <null> <null> 1 false 3 true true false tinyint 0 255 <null> <null> 0
long -5 19 <null> <null> <null> 1 false 3 false false false long 0 255 <null> <null> 10
+bigint -5 19 <null> <null> <null> 1 false 3 false false false bigint 0 255 <null> <null> 10
char 1 1 ' ' <null> 1 false 3 true true false char 0 255 <null> <null> 0
bigdecimal 2 20 <null> <null> <null> 1 false 3 false true false bigdecimal 0 255 <null> <null> 10
+decimal 2 20 <null> <null> <null> 1 false 3 false true false decimal 0 255 <null> <null> 10
biginteger 2 19 <null> <null> <null> 1 false 3 false false false biginteger 0 255 <null> <null> 10
integer 4 10 <null> <null> <null> 1 false 3 false false false integer 0 255 <null> <null> 10
short 5 5 <null> <null> <null> 1 false 3 false false false short 0 255 <null> <null> 10
+smallint 5 5 <null> <null> <null> 1 false 3 false false false smallint 0 255 <null> <null> 10
float 7 20 <null> <null> <null> 1 false 3 false false false float 0 255 <null> <null> 10
+real 7 20 <null> <null> <null> 1 false 3 false false false real 0 255 <null> <null> 10
double 8 20 <null> <null> <null> 1 false 3 false false false double 0 255 <null> <null> 10
string 12 4000 ' ' <null> 1 false 3 true true false string 0 255 <null> <null> 0
+varchar 12 4000 ' ' <null> 1 false 3 true true false varchar 0 255 <null> <null> 0
xml 2009 2147483647 <null> <null> <null> 1 false 3 true true false xml 0 255 <null> <null> 0
date 91 10 {d' } <null> 1 false 3 true true false date 0 255 <null> <null> 0
time 92 8 {t' } <null> 1 false 3 true true false time 0 255 <null> <null> 0
@@ -18,7 +24,7 @@
object 2000 2147483647 <null> <null> <null> 1 false 3 true true false object 0 255 <null> <null> 0
blob 2004 2147483647 <null> <null> <null> 1 false 3 true true false blob 0 255 <null> <null> 0
clob 2005 2147483647 <null> <null> <null> 1 false 3 true true false clob 0 255 <null> <null> 0
-Row Count : 18
+Row Count : 24
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TYPE_NAME 12 PartsSupplier java.lang.String TYPE_NAME string SYS DataTypes 4000 4000 0 false false false false 0 true true false false
DATA_TYPE 4 PartsSupplier java.lang.Integer DATA_TYPE integer SYS DataTypes 11 10 0 false false false true 1 false true true true
12 years, 11 months
teiid SVN: r3816 - in branches/7.7.x: adminshell and 40 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-23 15:36:36 -0500 (Mon, 23 Jan 2012)
New Revision: 3816
Modified:
branches/7.7.x/adminshell/pom.xml
branches/7.7.x/api/pom.xml
branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
branches/7.7.x/build/pom.xml
branches/7.7.x/cache-jbosscache/pom.xml
branches/7.7.x/client-jdk15/pom.xml
branches/7.7.x/client/pom.xml
branches/7.7.x/common-core/pom.xml
branches/7.7.x/connectors/connector-file/pom.xml
branches/7.7.x/connectors/connector-ldap/pom.xml
branches/7.7.x/connectors/connector-salesforce/pom.xml
branches/7.7.x/connectors/connector-ws/pom.xml
branches/7.7.x/connectors/pom.xml
branches/7.7.x/connectors/salesforce-api/pom.xml
branches/7.7.x/connectors/sandbox/pom.xml
branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml
branches/7.7.x/connectors/translator-file/pom.xml
branches/7.7.x/connectors/translator-hive/pom.xml
branches/7.7.x/connectors/translator-jdbc/pom.xml
branches/7.7.x/connectors/translator-ldap/pom.xml
branches/7.7.x/connectors/translator-loopback/pom.xml
branches/7.7.x/connectors/translator-olap/pom.xml
branches/7.7.x/connectors/translator-salesforce/pom.xml
branches/7.7.x/connectors/translator-ws/pom.xml
branches/7.7.x/console/pom.xml
branches/7.7.x/documentation/admin-guide/pom.xml
branches/7.7.x/documentation/caching-guide/pom.xml
branches/7.7.x/documentation/client-developers-guide/pom.xml
branches/7.7.x/documentation/developer-guide/pom.xml
branches/7.7.x/documentation/docbook/custom.dtd
branches/7.7.x/documentation/pom.xml
branches/7.7.x/documentation/quick-start-example/pom.xml
branches/7.7.x/documentation/reference/pom.xml
branches/7.7.x/engine/pom.xml
branches/7.7.x/hibernate-dialect/pom.xml
branches/7.7.x/jboss-integration/pom.xml
branches/7.7.x/metadata/pom.xml
branches/7.7.x/pom.xml
branches/7.7.x/runtime/pom.xml
branches/7.7.x/test-integration/common/pom.xml
branches/7.7.x/test-integration/db/pom.xml
branches/7.7.x/test-integration/pom.xml
Log:
updating to 7.7
Modified: branches/7.7.x/adminshell/pom.xml
===================================================================
--- branches/7.7.x/adminshell/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/adminshell/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-adminshell</artifactId>
Modified: branches/7.7.x/api/pom.xml
===================================================================
--- branches/7.7.x/api/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/api/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-api</artifactId>
Modified: branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2012-01-23 20:36:36 UTC (rev 3816)
@@ -26,26 +26,6 @@
</UL>
<H2><A NAME="Highlights"></A>Highlights</H2>
<UL>
- <LI><B>Procedure language features</B> - Added support for compound/block statements, BEGIN [[NOT] ATOMIC], loop/block labels, and the leave statement. See the reference for more.
- <LI><B>File Enhancements</B> - the file translator can now optionally (via the ExceptionIfFileNotFound property) throw an exception if the path refers to a file that doesn't exist. The file resource adapter can be configured to map file names and can prevent parent path .. references. See the Admin Guide or the file-ds.xml template for more.
- <LI><B>TEXTTABLE Enhancements</B> - TEXTTABLE can now parse fixed width files that do not use a row delimiter and can optionally produce fixed values that haven't been trimmed.
- <LI><B>Temp table transactions</B> - Internal materialized views and temp table usage from a session and within procedures can take advantage of greater transaction support.
- <LI><B>Buffering Improvements</B>
- <ul>
- <li>Added the ability to inline memory based or small lobs.
- <li>Added tracking of the memory held by soft references and general batch overhead. This ensures more efficient cache/memory utilization when dealing with 10s of millions or more of batches/pages.
- <li>Also switched to a concurrent LFRU algorithm that significantly reduces writes and read misses with temporary tables.
- <li>Added a memory buffer to better handle file storage as fixed blocks. The memory buffer may optionally be configured as off-heap for better large memory performance - see the Admin Guide for more.
- <li>Serialization was improved for both internal batches and client/server batches.
- </ul>
- <LI><B>GSSAPI</B> - both the Teiid JDBC client/server and the ODBC pg backend can now support GSSAPI for single sign-on.
- <LI><B>Server-side Query Timeouts</B> - default query timeouts can be configured at both the VDB (via the query-timeout VDB property) and entire server (via the teiid-jboss-beans.xml queryTimeout property).
- <LI><B>Native Queries</B> - added the ability to specify native query SQL for JDBC physical tables and stored procedures via extension metadata. See the Reference for more.
- <LI><B>View removal hint</B> - the NO_UNNEST hint now also applies to FROM clause views and subqueries. It will instruct the planner to not perform view flattening.
- <LI><B>Non-blocking statement execution</B> - Teiid JDBC extensions TeiidStatement and TeiidPreparedStatement can be used to submit queries against embedded connections with a callback to process results in a non-blocking manner.
- <LI><B>NON_STRICT limit hint</B> - the NON_STRICT hint can be used with unordered limits to tell the optimizer to not inhibit push operations even if the results will not be consistent with the logical application of the limit.
- <LI><B>Source Hints</B> - user and transformation queries can specify a meta source hint, e.g. SELECT /*+ sh my-oracle:'leading' */ * FROM TBL. The hint information will be passed to the translator. The Oracle translator will by default treat the source hint as an Oracle hint. See the Reference and Developers Guide for more.
- <LI><B>Hive Translator</B> - Hive translator has been added as a technology preview.
<LI><B>Excel JDBC Translator</B> - for use with Excel using the JDBC-ODBC bridge.
</UL>
@@ -244,203 +224,6 @@
<h2><a name="Details">Detailed Release Notes</a></h2>
Detailed Release Notes - Teiid - Version ${project.version}
-<h2> Bug
-</h2>
-<ul>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1686'>TEIID-1686</a>] - Assertion failure when using a plan result buffer
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1727'>TEIID-1727</a>] - Undeploying a vdb inappropriately updates all vdbs
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1728'>TEIID-1728</a>] - Materialized View cache TTL (in a transformation) does not expire/invalidate the cache automatically
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1729'>TEIID-1729</a>] - EDS XML as source - results returned on 1st query only, subsequent query returns 0 rows - Streaming logic problem
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1730'>TEIID-1730</a>] - File resource adapter ra.xml is not valid
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1731'>TEIID-1731</a>] - Incorrect results with low memory streaming dup removal
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1732'>TEIID-1732</a>] - Native PG Connector does not pass back errors to client
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1736'>TEIID-1736</a>] - Window function capabilities incorrect
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1737'>TEIID-1737</a>] - Error: Temporary table does not exist when using WITH clause and SQL Server
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1739'>TEIID-1739</a>] - VDB deployment fails if metadata index file has been removed due to NPE during Index.initialize
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1742'>TEIID-1742</a>] - Page ids are not sufficiently unique
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1745'>TEIID-1745</a>] - Forward only results that exceed the output buffer can hold active plans
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1746'>TEIID-1746</a>] - Documentation for ENV & COMMANDPAYLOAD is missing some details
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1747'>TEIID-1747</a>] - hasROLE(rolename) function always returns false
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1751'>TEIID-1751</a>] - Scalar function reference issues
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1753'>TEIID-1753</a>] - FileStore compaction issues
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1758'>TEIID-1758</a>] - ODBC protocol should implement DEALLOCATE command
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1760'>TEIID-1760</a>] - The "access" translator shows up in the admin-console, but I don't find it mentioned in the docs. Looking at the 7.5 docs
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1764'>TEIID-1764</a>] - Hibernate Month Date Extraction
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1765'>TEIID-1765</a>] - Incorrect comparison method in CancellationTimer
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1768'>TEIID-1768</a>] - Temp table becomes unusable by other threads
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1769'>TEIID-1769</a>] - Unhandled exceptions during close can hang the client
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1773'>TEIID-1773</a>] - Ingres as source - Query with LOCATE causing stackoverflow error
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1776'>TEIID-1776</a>] - Ingres as source - Source Error Codes 2118, 2501, and 263071 being returned
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1778'>TEIID-1778</a>] - Cross source join reduced to cross join returns the wrong data
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1780'>TEIID-1780</a>] - Stored procedure cannot be called using "Procedural Relational Command"
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1784'>TEIID-1784</a>] - reserve batch accounting error
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1787'>TEIID-1787</a>] - Prepared batch failure
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1789'>TEIID-1789</a>] - Serial type failure
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1790'>TEIID-1790</a>] - Error parsing substring with non-simple expression
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1791'>TEIID-1791</a>] - Only the first 1000 items in the IN criteria are being pushed down in the query
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1792'>TEIID-1792</a>] - Inefficient plan using cartesian join
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1793'>TEIID-1793</a>] - Receive " User <user@teiid-security> is not entitled to action <READ> for 1 or more of the groups/elements/procedures." error on unqualified SQL if data roles are active
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1795'>TEIID-1795</a>] - Long Running Queries Are Calculated Incorrectly
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1803'>TEIID-1803</a>] - VDB deployment in EDS can be extremely slow based upon indexing needs
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1812'>TEIID-1812</a>] - Client Recieving java.lang.IndexOutOfBoundsException when performing query
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1816'>TEIID-1816</a>] - Documentation changes for SSL configuration
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1818'>TEIID-1818</a>] - XMLQuery/XMLTable prepared context type
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1820'>TEIID-1820</a>] - like_regex only matches full string patterns
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1821'>TEIID-1821</a>] - subqueries used in xmltable coulmn defaults are not resolved
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1823'>TEIID-1823</a>] - XMLTable passing scalar subquery fails to evaluate
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1825'>TEIID-1825</a>] - EnhancementTimer class using the wrong logger class, results in errors accessing the Teiid through JDBC
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1830'>TEIID-1830</a>] - Perl client using DBD:Pg hangs with resultset > 512 rows
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1832'>TEIID-1832</a>] - Change to source model connection through AdminApi using assignToModel() does not reflect in jdbc queries to that source model
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1836'>TEIID-1836</a>] - NPE running query of Web service (WSDL imported into Relational Model)
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1840'>TEIID-1840</a>] - The Jdbc Socket Host Name Property cannot be changed in admin console
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1843'>TEIID-1843</a>] - StackOverflow using a changing expression as a boolean condition
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1844'>TEIID-1844</a>] - Missing paren invalidates code example in EDS documentation
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1845'>TEIID-1845</a>] - Cache hint not being displayed after validation of Virtual Procedure in JBoss Developer Studio
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1846'>TEIID-1846</a>] - Update or delete against a instead of trigger with an access pattern fails
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1849'>TEIID-1849</a>] - enabledCipherSuites property gives error on startup of server
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1851'>TEIID-1851</a>] - run.bat in simpleclient for teiid 7.5 incorrect path
-</li>
-</ul>
-
-<h2> Enhancement
-</h2>
-<ul>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1610'>TEIID-1610</a>] - Support kerberos authentication forwarding for remote clients
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1673'>TEIID-1673</a>] - Co-ordinate Materialization Table loads accross the cluster
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1701'>TEIID-1701</a>] - Misc procedure enhancements
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1702'>TEIID-1702</a>] - Allow the file translator to abstract selecting a single file
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1703'>TEIID-1703</a>] - Allow for the parsing of fixed width files that don't use delimiters.
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1797'>TEIID-1797</a>] - When a message (i.e., WARN) is logged and its associated with a translator/connector, it would be nice to know to which one it applied
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1805'>TEIID-1805</a>] - Allow no_unnest to apply to views/subquery from clauses
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1806'>TEIID-1806</a>] - Make unordered limit handling consistent
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1824'>TEIID-1824</a>] - SQL/XML performance enhancement
-</li>
-</ul>
-
-<h2> Feature Request
-</h2>
-<ul>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-139'>TEIID-139</a>] - Enhancement: Language support for transactions
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-942'>TEIID-942</a>] - Make ad hoc temp tables transactional
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-964'>TEIID-964</a>] - Must pushdown functions in select clause
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1518'>TEIID-1518</a>] - Add a correlated subquery evaluation cache
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1573'>TEIID-1573</a>] - Set Query Timeout on the Server
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1629'>TEIID-1629</a>] - provide maven snapshot jars
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1687'>TEIID-1687</a>] - GSSAPI support for postgres emulation layer
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1726'>TEIID-1726</a>] - Requesting ability to add/use Oracle hints in EDS
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1735'>TEIID-1735</a>] - RF: Add the ability to use DISTINCT in windowed aggregates in EDS
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1772'>TEIID-1772</a>] - Teiid ports need to have the ability to restrict cipher suites
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1800'>TEIID-1800</a>] - Async Event Processing: Standardize JDBC Callback API
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1802'>TEIID-1802</a>] - Async Event Processing: Translator callback indicating data is available
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1810'>TEIID-1810</a>] - Add Hive Translator that support HDFS
-</li>
-</ul>
-
-<h2> Quality Risk
-</h2>
-<ul>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-832'>TEIID-832</a>] - Support calling oracle stored functions returning result sets as stored procedures
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1738'>TEIID-1738</a>] - Temp table permissions can be confusing
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1750'>TEIID-1750</a>] - Memory handling improvements
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1771'>TEIID-1771</a>] - 7.3 or older clients see the wrong column metadata
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1788'>TEIID-1788</a>] - Misc improvements
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1813'>TEIID-1813</a>] - EDS performance tests shows a performance degradation against SOA-P 5.1.0.GA in case of selecting from XML datasource
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1828'>TEIID-1828</a>] - Dependent critiera in query plan but missing in actual query and additional information is provided
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1829'>TEIID-1829</a>] - Clarify source warnings
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1833'>TEIID-1833</a>] - Add documentation for the delegating translator
-</li>
-</ul>
-
-<h2> Task
-</h2>
-<ul>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1716'>TEIID-1716</a>] - Fix minor ODBC documentation
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1749'>TEIID-1749</a>] - Update the LDAP configuration documentation
-</li>
-<li>[<a href='https://issues.jboss.org/browse/TEIID-1798'>TEIID-1798</a>] - Document to show how the CXF configuration file can be configured for Web-Service source
-</li>
-</ul>
-
<h2><a name="Documentation">Documentation and Help</a></h2>
The <a href="http://www.jboss.org/teiid/">Teiid community project</a> is hosted on jboss.org.
Modified: branches/7.7.x/build/pom.xml
===================================================================
--- branches/7.7.x/build/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/build/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid</artifactId>
Modified: branches/7.7.x/cache-jbosscache/pom.xml
===================================================================
--- branches/7.7.x/cache-jbosscache/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/cache-jbosscache/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-cache-jbosscache</artifactId>
Modified: branches/7.7.x/client/pom.xml
===================================================================
--- branches/7.7.x/client/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/client/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client</artifactId>
Modified: branches/7.7.x/client-jdk15/pom.xml
===================================================================
--- branches/7.7.x/client-jdk15/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/client-jdk15/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-client-jdk15</artifactId>
Modified: branches/7.7.x/common-core/pom.xml
===================================================================
--- branches/7.7.x/common-core/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/common-core/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-common-core</artifactId>
Modified: branches/7.7.x/connectors/connector-file/pom.xml
===================================================================
--- branches/7.7.x/connectors/connector-file/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/connector-file/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-file</artifactId>
Modified: branches/7.7.x/connectors/connector-ldap/pom.xml
===================================================================
--- branches/7.7.x/connectors/connector-ldap/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/connector-ldap/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ldap</artifactId>
Modified: branches/7.7.x/connectors/connector-salesforce/pom.xml
===================================================================
--- branches/7.7.x/connectors/connector-salesforce/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/connector-salesforce/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-salesforce</artifactId>
Modified: branches/7.7.x/connectors/connector-ws/pom.xml
===================================================================
--- branches/7.7.x/connectors/connector-ws/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/connector-ws/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>connector-ws</artifactId>
Modified: branches/7.7.x/connectors/pom.xml
===================================================================
--- branches/7.7.x/connectors/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.7.x/connectors/salesforce-api/pom.xml
===================================================================
--- branches/7.7.x/connectors/salesforce-api/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/salesforce-api/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>salesforce-api</artifactId>
Modified: branches/7.7.x/connectors/sandbox/pom.xml
===================================================================
--- branches/7.7.x/connectors/sandbox/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/sandbox/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid.connectors</groupId>
Modified: branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml
===================================================================
--- branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>sandbox</artifactId>
<groupId>org.jboss.teiid.connectors</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-yahoo</artifactId>
Modified: branches/7.7.x/connectors/translator-file/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-file/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-file/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-file</artifactId>
Modified: branches/7.7.x/connectors/translator-hive/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-hive/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-hive/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-hive</artifactId>
Modified: branches/7.7.x/connectors/translator-jdbc/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-jdbc/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-jdbc</artifactId>
Modified: branches/7.7.x/connectors/translator-ldap/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-ldap/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-ldap/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ldap</artifactId>
Modified: branches/7.7.x/connectors/translator-loopback/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-loopback/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-loopback/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-loopback</artifactId>
Modified: branches/7.7.x/connectors/translator-olap/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-olap/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-olap/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-olap</artifactId>
Modified: branches/7.7.x/connectors/translator-salesforce/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-salesforce/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-salesforce/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-salesforce</artifactId>
Modified: branches/7.7.x/connectors/translator-ws/pom.xml
===================================================================
--- branches/7.7.x/connectors/translator-ws/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/connectors/translator-ws/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>connectors</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>translator-ws</artifactId>
Modified: branches/7.7.x/console/pom.xml
===================================================================
--- branches/7.7.x/console/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/console/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: branches/7.7.x/documentation/admin-guide/pom.xml
===================================================================
--- branches/7.7.x/documentation/admin-guide/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/admin-guide/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>admin-guide</artifactId>
Modified: branches/7.7.x/documentation/caching-guide/pom.xml
===================================================================
--- branches/7.7.x/documentation/caching-guide/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/caching-guide/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>caching-guide</artifactId>
Modified: branches/7.7.x/documentation/client-developers-guide/pom.xml
===================================================================
--- branches/7.7.x/documentation/client-developers-guide/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/client-developers-guide/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>client-developers-guide</artifactId>
Modified: branches/7.7.x/documentation/developer-guide/pom.xml
===================================================================
--- branches/7.7.x/documentation/developer-guide/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/developer-guide/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>developer-guide</artifactId>
Modified: branches/7.7.x/documentation/docbook/custom.dtd
===================================================================
--- branches/7.7.x/documentation/docbook/custom.dtd 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/docbook/custom.dtd 2012-01-23 20:36:36 UTC (rev 3816)
@@ -1,5 +1,5 @@
-<!ENTITY versionNumber "7.6">
-<!ENTITY copyrightYear "2011">
+<!ENTITY versionNumber "7.7">
+<!ENTITY copyrightYear "2012">
<!ENTITY copyrightHolder "Red Hat, Inc.">
<!ENTITY url "http://www.jboss.org/teiid/">
<!ENTITY docUrl "&url;/docs.html">
Modified: branches/7.7.x/documentation/pom.xml
===================================================================
--- branches/7.7.x/documentation/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.7.x/documentation/quick-start-example/pom.xml
===================================================================
--- branches/7.7.x/documentation/quick-start-example/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/quick-start-example/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>quick-start-example</artifactId>
Modified: branches/7.7.x/documentation/reference/pom.xml
===================================================================
--- branches/7.7.x/documentation/reference/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/documentation/reference/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.teiid</groupId>
<artifactId>documentation</artifactId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>reference</artifactId>
Modified: branches/7.7.x/engine/pom.xml
===================================================================
--- branches/7.7.x/engine/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/engine/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-engine</artifactId>
Modified: branches/7.7.x/hibernate-dialect/pom.xml
===================================================================
--- branches/7.7.x/hibernate-dialect/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/hibernate-dialect/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-hibernate-dialect</artifactId>
Modified: branches/7.7.x/jboss-integration/pom.xml
===================================================================
--- branches/7.7.x/jboss-integration/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/jboss-integration/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -2,7 +2,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.7.x/metadata/pom.xml
===================================================================
--- branches/7.7.x/metadata/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/metadata/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-metadata</artifactId>
Modified: branches/7.7.x/pom.xml
===================================================================
--- branches/7.7.x/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -5,7 +5,7 @@
<artifactId>teiid-parent</artifactId>
<packaging>pom</packaging>
<name>Teiid</name>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
<description>Federated SQL and XML query engine.</description>
<properties>
<ant.version>1.7.0</ant.version>
Modified: branches/7.7.x/runtime/pom.xml
===================================================================
--- branches/7.7.x/runtime/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/runtime/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.teiid</groupId>
Modified: branches/7.7.x/test-integration/common/pom.xml
===================================================================
--- branches/7.7.x/test-integration/common/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/test-integration/common/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-integration-common</artifactId>
Modified: branches/7.7.x/test-integration/db/pom.xml
===================================================================
--- branches/7.7.x/test-integration/db/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/test-integration/db/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -9,7 +9,7 @@
<parent>
<artifactId>teiid-test-integration</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: branches/7.7.x/test-integration/pom.xml
===================================================================
--- branches/7.7.x/test-integration/pom.xml 2012-01-23 19:59:01 UTC (rev 3815)
+++ branches/7.7.x/test-integration/pom.xml 2012-01-23 20:36:36 UTC (rev 3816)
@@ -3,7 +3,7 @@
<parent>
<artifactId>teiid-parent</artifactId>
<groupId>org.jboss.teiid</groupId>
- <version>7.6.1-SNAPSHOT</version>
+ <version>7.7.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>teiid-test-integration</artifactId>
12 years, 11 months
teiid SVN: r3815 - in trunk: connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel and 13 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-23 14:59:01 -0500 (Mon, 23 Jan 2012)
New Revision: 3815
Added:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java
Removed:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java
trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCleanCriteria.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java
trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java
trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
Log:
forward merge from 7.6.1
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -254,12 +254,17 @@
@Override
public void getMetadata(MetadataFactory metadataFactory, Connection conn) throws TranslatorException {
try {
- JDBCMetdataProcessor metadataProcessor = new JDBCMetdataProcessor();
+ JDBCMetdataProcessor metadataProcessor = createMetadataProcessor();
PropertiesUtils.setBeanProperties(metadataProcessor, metadataFactory.getImportProperties(), "importer"); //$NON-NLS-1$
metadataProcessor.getConnectorMetadata(conn, metadataFactory);
} catch (SQLException e) {
throw new TranslatorException(e);
}
+ }
+
+ protected JDBCMetdataProcessor createMetadataProcessor() {
+ JDBCMetdataProcessor metadataProcessor = new JDBCMetdataProcessor();
+ return metadataProcessor;
}
@Override
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -293,7 +293,7 @@
return TypeFacility.getDataTypeNameFromSQLType(type);
}
- private String quoteName(String name) {
+ protected String quoteName(String name) {
if (quoteNameInSource) {
return quoteString + StringUtil.replaceAll(name, quoteString, quoteString + quoteString) + quoteString;
}
Deleted: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java
===================================================================
--- branches/7.6.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java 2012-01-23 18:52:20 UTC (rev 3813)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -1,42 +0,0 @@
-/*
- * 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.translator.jdbc.excel;
-
-import org.teiid.translator.Translator;
-import org.teiid.translator.jdbc.JDBCExecutionFactory;
-import org.teiid.translator.jdbc.JDBCMetdataProcessor;
-
-@Translator(name="excel-odbc", description="A translator for Excel using the JDBC-ODBC bridge")
-public class ExcelExecutionFactory extends JDBCExecutionFactory {
-
- @Override
- protected JDBCMetdataProcessor createMetadataProcessor() {
- return new JDBCMetdataProcessor() {
- @Override
- protected String quoteName(String name) {
- return '[' + name + ']';
- }
- };
- }
-
-}
Copied: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java (from rev 3813, branches/7.6.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java)
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java (rev 0)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -0,0 +1,42 @@
+/*
+ * 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.translator.jdbc.excel;
+
+import org.teiid.translator.Translator;
+import org.teiid.translator.jdbc.JDBCExecutionFactory;
+import org.teiid.translator.jdbc.JDBCMetdataProcessor;
+
+@Translator(name="excel-odbc", description="A translator for Excel using the JDBC-ODBC bridge")
+public class ExcelExecutionFactory extends JDBCExecutionFactory {
+
+ @Override
+ protected JDBCMetdataProcessor createMetadataProcessor() {
+ return new JDBCMetdataProcessor() {
+ @Override
+ protected String quoteName(String name) {
+ return '[' + name + ']';
+ }
+ };
+ }
+
+}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -85,7 +85,7 @@
public Object retrieveValue(ResultSet results, int columnIndex,
Class<?> expectedType) throws SQLException {
Object result = super.retrieveValue(results, columnIndex, expectedType);
- if (expectedType == TypeFacility.RUNTIME_TYPES.STRING && result instanceof Blob) {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.STRING && (result instanceof Blob || result instanceof byte[])) {
return results.getString(columnIndex);
}
return result;
@@ -95,10 +95,10 @@
public Object retrieveValue(CallableStatement results, int parameterIndex,
Class<?> expectedType) throws SQLException {
Object result = super.retrieveValue(results, parameterIndex, expectedType);
- if (expectedType == TypeFacility.RUNTIME_TYPES.STRING && result instanceof Blob) {
+ if (expectedType == TypeFacility.RUNTIME_TYPES.STRING && (result instanceof Blob || result instanceof byte[])) {
return results.getString(parameterIndex);
}
return result;
}
-}
+}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -36,10 +36,13 @@
import java.util.List;
import org.teiid.language.Command;
+import org.teiid.language.Expression;
import org.teiid.language.Function;
import org.teiid.language.LanguageObject;
import org.teiid.language.Limit;
+import org.teiid.language.Literal;
import org.teiid.language.OrderBy;
+import org.teiid.language.SQLConstants;
import org.teiid.language.SetQuery;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
@@ -100,10 +103,30 @@
registerFunctionModifier(SourceSystemFunctions.QUARTER, new EscapeSyntaxModifier());
registerFunctionModifier(SourceSystemFunctions.SECOND, new EscapeSyntaxModifier());
registerFunctionModifier(SourceSystemFunctions.WEEK, new EscapeSyntaxModifier());
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier());
- registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier());
registerFunctionModifier(SourceSystemFunctions.LENGTH, new EscapeSyntaxModifier());
registerFunctionModifier(SourceSystemFunctions.ATAN2, new EscapeSyntaxModifier());
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ if (!isFracSeconds(function)) {
+ return super.translate(function);
+ }
+ //convert from billionths to thousandths
+ return Arrays.asList("dateadd(millisecond, ", function.getParameters().get(1), "/1000000, ", function.getParameters().get(2), ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ });
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ if (!isFracSeconds(function)) {
+ return super.translate(function);
+ }
+ //convert from billionths to thousandths
+ return Arrays.asList("datediff(millisecond, ", function.getParameters().get(1), ",", function.getParameters().get(2), ")*1000000"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ });
//add in type conversion
ConvertModifier convertModifier = new ConvertModifier();
@@ -390,5 +413,10 @@
protected boolean supportsCrossJoin() {
return false;
}
+
+ private boolean isFracSeconds(Function function) {
+ Expression e = function.getParameters().get(0);
+ return (e instanceof Literal && SQLConstants.NonReserved.SQL_TSI_FRAC_SECOND.equalsIgnoreCase((String)((Literal)e).getValue()));
+ }
}
Modified: trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory
===================================================================
--- trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory 2012-01-23 19:59:01 UTC (rev 3815)
@@ -20,3 +20,4 @@
org.teiid.translator.jdbc.sybase.SybaseExecutionFactory #sybase
org.teiid.translator.jdbc.teiid.TeiidExecutionFactory #teiid
org.teiid.translator.jdbc.teradata.TeradataExecutionFactory #teradata
+org.teiid.translator.jdbc.excel.ExcelExecutionFactory #excel-odbc
Modified: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -250,5 +250,10 @@
helpTestVisitor(getBQTVDB(), input, output);
}
-
+ @Test public void testTimestampFunctions() {
+ helpTestVisitor(getBQTVDB(),
+ "SELECT timestampadd(sql_tsi_second, 1, timestampvalue), timestampadd(sql_tsi_frac_second, 1000, timestampvalue), timestampdiff(sql_tsi_frac_second, timestampvalue, timestampvalue) from bqt1.smalla", //$NON-NLS-1$
+ "SELECT {fn timestampadd(sql_tsi_second, 1, SmallA.TimestampValue)}, dateadd(millisecond, 1000/1000000, SmallA.TimestampValue), datediff(millisecond, SmallA.TimestampValue,SmallA.TimestampValue)*1000000 FROM SmallA"); //$NON-NLS-1$
+ }
+
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -155,11 +155,14 @@
try {
command = QueryRewriter.rewrite(command, metadata, null);
instanceNode.setCommand(command);
+ if (!instanceNode.isShouldEvaluate()) {
+ instanceNode.minimizeProject(command);
+ }
} catch(QueryValidatorException e) {
// ignore and use original command
}
- if (!RelationalNodeUtil.shouldExecute(command, false)) {
+ if (!RelationalNodeUtil.shouldExecute(command, false, true)) {
continue;
}
@@ -269,7 +272,7 @@
DeepPreOrderNavigator.doVisit(command, new MultiSourceElementReplacementVisitor(sourceName));
}
- if (!RelationalNodeUtil.shouldExecute(command, false)) {
+ if (!RelationalNodeUtil.shouldExecute(command, false, true)) {
return null;
}
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -358,7 +358,7 @@
rules.push(RuleConstants.PLAN_SORTS);
- //TODO: update plan sorts to take advantage or semi-join ordering
+ //TODO: update plan sorts to take advantage of semi-join ordering
if (hints.hasJoin || hints.hasCriteria) {
rules.push(new RuleMergeCriteria(idGenerator, capFinder, analysisRecord, context, metadata));
}
@@ -381,9 +381,7 @@
rules.push(new RulePushAggregates(idGenerator));
}
if(hints.hasJoin) {
- rules.push(RuleConstants.CHOOSE_DEPENDENT);
- }
- if(hints.hasJoin) {
+ rules.push(RuleConstants.CHOOSE_DEPENDENT);
rules.push(RuleConstants.CHOOSE_JOIN_STRATEGY);
rules.push(RuleConstants.RAISE_ACCESS);
//after planning the joins, let the criteria be pushed back into place
@@ -394,8 +392,9 @@
if (hints.hasSetQuery) {
rules.push(RuleConstants.PLAN_UNIONS);
}
- if(hints.hasCriteria || hints.hasJoin) {
+ if(hints.hasCriteria || hints.hasJoin || hints.hasVirtualGroups) {
//after copy criteria, it is no longer necessary to have phantom criteria nodes, so do some cleaning
+ //also remove possible erroneous output elements
rules.push(RuleConstants.CLEAN_CRITERIA);
}
if(hints.hasJoin) {
Property changes on: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3673-3711,3754-3769
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3673-3711,3754-3769,3776-3813
/trunk/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java:3188-3450,3452-3666
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -287,10 +287,14 @@
QueryMetadataInterface metadata, float cost)
throws QueryMetadataException, TeiidComponentException {
PlanNode projectNode = NodeEditor.findNodePreOrder(node, NodeConstants.Types.PROJECT);
+ float result = cost;
if (projectNode != null) {
- cost = getNDVEstimate(node.getParent(), metadata, cost, (List)projectNode.getProperty(NodeConstants.Info.PROJECT_COLS), false);
+ result = getNDVEstimate(node.getParent(), metadata, cost, (List)projectNode.getProperty(NodeConstants.Info.PROJECT_COLS), false);
+ if (result == UNKNOWN_VALUE) {
+ return cost;
+ }
}
- return cost;
+ return result;
}
private static void setCardinalityEstimate(PlanNode node, Float bestEstimate, boolean setColEstimates, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException {
@@ -1138,7 +1142,12 @@
for (int i = 0; i < independentExpressions.size(); i++) {
Expression indExpr = (Expression)independentExpressions.get(i);
Collection<ElementSymbol> indElements = ElementCollectorVisitor.getElements(indExpr, true);
- float indSymbolNDV = getNDVEstimate(independentNode, metadata, independentCardinality, indElements, true);
+ float indSymbolNDV = getNDVEstimate(independentNode, metadata, independentCardinality, indElements, false);
+ boolean unknownNDV = false;
+ if (indSymbolNDV == UNKNOWN_VALUE) {
+ unknownNDV = true;
+ indSymbolNDV = independentCardinality/2;
+ }
Expression depExpr = (Expression)dependentExpressions.get(i);
LinkedList<Expression> depExpressions = new LinkedList<Expression>();
@@ -1197,6 +1206,7 @@
}
}
depSymbolNDV = Math.max((float)Math.pow(depTargetCardinality, .75), Math.min(indSymbolOrigNDV, depTargetCardinality));
+ unknownNDV = true;
} else {
depSymbolNDV = depTargetCardinality;
}
@@ -1213,6 +1223,10 @@
dca.expectedCardinality = Math.min(dca.expectedCardinality, estimates[0]);
}
}
+ //don't use the ndv if it is unknown
+ if (unknownNDV) {
+ continue;
+ }
dca.expectedNdv[i] = indSymbolNDV;
//use a quick binary search to find the max ndv
float min = 0;
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCleanCriteria.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCleanCriteria.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleCleanCriteria.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -35,6 +35,7 @@
import org.teiid.query.optimizer.relational.plantree.NodeConstants;
import org.teiid.query.optimizer.relational.plantree.NodeEditor;
import org.teiid.query.optimizer.relational.plantree.PlanNode;
+import org.teiid.query.optimizer.relational.plantree.NodeConstants.Info;
import org.teiid.query.sql.lang.Criteria;
import org.teiid.query.sql.visitor.EvaluatableVisitor;
import org.teiid.query.util.CommandContext;
@@ -53,40 +54,7 @@
boolean pushRaiseNull = false;
- for (PlanNode critNode : NodeEditor.findAllNodes(plan, NodeConstants.Types.SELECT)) {
-
- if (critNode.hasBooleanProperty(NodeConstants.Info.IS_PHANTOM)) {
- NodeEditor.removeChildNode(critNode.getParent(), critNode);
- continue;
- }
-
- //TODO: remove dependent set criteria that has not been meaningfully pushed from its parent join
-
- if (critNode.hasBooleanProperty(NodeConstants.Info.IS_HAVING) || critNode.getGroups().size() != 0) {
- continue;
- }
-
- Criteria crit = (Criteria)critNode.getProperty(NodeConstants.Info.SELECT_CRITERIA);
- //if not evaluatable, just move on to the next criteria
- if (!EvaluatableVisitor.isFullyEvaluatable(crit, true)) {
- continue;
- }
- //if evaluatable
- try {
- boolean eval = Evaluator.evaluate(crit);
- if(eval) {
- NodeEditor.removeChildNode(critNode.getParent(), critNode);
- } else {
- FrameUtil.replaceWithNullNode(critNode);
- pushRaiseNull = true;
- }
- //none of the following exceptions should ever occur
- } catch(BlockedException e) {
- throw new TeiidComponentException(e);
- } catch (ExpressionEvaluationException e) {
- throw new TeiidComponentException(e);
- }
- }
+ pushRaiseNull = clean(plan);
if (pushRaiseNull) {
rules.push(RuleConstants.RAISE_NULL);
@@ -94,7 +62,55 @@
return plan;
}
+
+ private boolean clean(PlanNode plan)
+ throws TeiidComponentException {
+ boolean pushRaiseNull = false;
+ plan.setProperty(Info.OUTPUT_COLS, null);
+ for (PlanNode node : plan.getChildren()) {
+ pushRaiseNull |= clean(node);
+ }
+ if (plan.getType() == NodeConstants.Types.SELECT) {
+ pushRaiseNull = cleanCriteria(plan);
+ }
+ return pushRaiseNull;
+ }
+ boolean cleanCriteria(PlanNode critNode) throws TeiidComponentException {
+ if (critNode.hasBooleanProperty(NodeConstants.Info.IS_PHANTOM)) {
+ NodeEditor.removeChildNode(critNode.getParent(), critNode);
+ return false;
+ }
+
+ //TODO: remove dependent set criteria that has not been meaningfully pushed from its parent join
+
+ if (critNode.hasBooleanProperty(NodeConstants.Info.IS_HAVING) || critNode.getGroups().size() != 0) {
+ return false;
+ }
+
+ Criteria crit = (Criteria)critNode.getProperty(NodeConstants.Info.SELECT_CRITERIA);
+ //if not evaluatable, just move on to the next criteria
+ if (!EvaluatableVisitor.isFullyEvaluatable(crit, true)) {
+ return false;
+ }
+ //if evaluatable
+ try {
+ boolean eval = Evaluator.evaluate(crit);
+ if(eval) {
+ NodeEditor.removeChildNode(critNode.getParent(), critNode);
+ } else {
+ FrameUtil.replaceWithNullNode(critNode);
+ return true;
+ }
+ //none of the following exceptions should ever occur
+ } catch(BlockedException e) {
+ throw new TeiidComponentException(e);
+ } catch (ExpressionEvaluationException e) {
+ throw new TeiidComponentException(e);
+ }
+ return false;
+ }
+
public String toString() {
return "CleanCriteria"; //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -72,6 +72,7 @@
private DependentValueSource dvs;
private List<SetState> dependentSetStates = new LinkedList<SetState>();
private String valueSource;
+ private DependentValueSource originalVs;
public TupleState(String source) {
this.valueSource = source;
@@ -80,7 +81,7 @@
public void sort() throws BlockedException,
TeiidComponentException, TeiidProcessingException {
if (dvs == null) {
- DependentValueSource originalVs = (DependentValueSource)dependentNode.getContext().getVariableContext().getGlobalValue(valueSource);
+ originalVs = (DependentValueSource)dependentNode.getContext().getVariableContext().getGlobalValue(valueSource);
if (!originalVs.isDistinct()) {
if (sortUtility == null) {
List<Expression> sortSymbols = new ArrayList<Expression>(dependentSetStates.size());
@@ -120,7 +121,9 @@
public void close() {
if (dvs != null) {
sortUtility = null;
- dvs.getTupleBuffer().remove();
+ if (dvs != originalVs) {
+ dvs.getTupleBuffer().remove();
+ }
dvs = null;
}
}
@@ -354,6 +357,11 @@
}
hasNextCommand = !restartIndexes.isEmpty();
+ if (hasNextCommand && dependentState.size() > 1) {
+ for (TupleState state : dependentState.values()) {
+ state.originalVs.setUnused(true);
+ }
+ }
}
protected boolean hasNextCommand() {
Modified: trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -690,8 +690,26 @@
public void visit( Query obj ) {
addCacheHint(obj.getCacheHint());
addWithClause(obj);
+ append(SELECT);
+
+ SourceHint sh = obj.getSourceHint();
+ if (sh != null) {
+ append(SPACE);
+ append(BEGIN_HINT);
+ append("sh"); //$NON-NLS-1$
+ if (sh.getGeneralHint() != null) {
+ appendSourceHintValue(sh.getGeneralHint());
+ }
+ if (sh.getSourceHints() != null) {
+ for (Map.Entry<String, String> entry : sh.getSourceHints().entrySet()) {
+ append(entry.getKey());
+ appendSourceHintValue(entry.getValue());
+ }
+ }
+ append(END_HINT);
+ }
if (obj.getSelect() != null) {
- visitDirect(obj.getSelect(), obj);
+ visitNode(obj.getSelect());
}
if (obj.getInto() != null) {
@@ -779,31 +797,6 @@
}
public void visit( Select obj ) {
- visitDirect(obj, null);
- }
-
- private void visitDirect(Select obj, Query query) {
- append(SELECT);
-
- if (query != null) {
- SourceHint sh = query.getSourceHint();
- if (sh != null) {
- append(SPACE);
- append(BEGIN_HINT);
- append("sh"); //$NON-NLS-1$
- if (sh.getGeneralHint() != null) {
- appendSourceHintValue(sh.getGeneralHint());
- }
- if (sh.getSourceHints() != null) {
- for (Map.Entry<String, String> entry : sh.getSourceHints().entrySet()) {
- append(entry.getKey());
- appendSourceHintValue(entry.getValue());
- }
- }
- append(END_HINT);
- }
- }
-
if (obj.isDistinct()) {
append(SPACE);
append(DISTINCT);
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -39,6 +39,7 @@
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.optimizer.QueryOptimizer;
import org.teiid.query.optimizer.TestOptimizer;
+import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
import org.teiid.query.optimizer.capabilities.CapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder;
import org.teiid.query.processor.HardcodedDataManager;
@@ -52,6 +53,7 @@
import org.teiid.query.sql.visitor.ElementCollectorVisitor;
import org.teiid.query.unittest.RealMetadataFactory;
import org.teiid.query.util.CommandContext;
+import org.teiid.translator.SourceSystemFunctions;
/**
* It's important here that the MultiSourceCapabilityFinder is used since some capabilities
@@ -59,6 +61,7 @@
*
* @since 4.2
*/
+@SuppressWarnings("nls")
public class TestMultiSourcePlanToProcessConverter {
private final class MultiSourceDataManager extends HardcodedDataManager {
@@ -82,10 +85,14 @@
}
private static final boolean DEBUG = false;
+
+ public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb) throws Exception {
+ helpTestMultiSourcePlan(metadata, userSql, multiModel, sourceCount, dataMgr, expectedResults, vdb, null);
+ }
- public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb) throws Exception {
+ public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb, List<?> params) throws Exception {
- DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
+ DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
Set<String> multiSourceModels = vdb.getMultiSourceModelNames();
for (String model:multiSourceModels) {
@@ -106,7 +113,9 @@
// Plan
command = QueryRewriter.rewrite(command, wrapper, null);
FakeCapabilitiesFinder fakeFinder = new FakeCapabilitiesFinder();
- fakeFinder.addCapabilities(multiModel, TestOptimizer.getTypicalCapabilities());
+ BasicSourceCapabilities bsc = TestOptimizer.getTypicalCapabilities();
+ bsc.setFunctionSupport(SourceSystemFunctions.CONCAT, true);
+ fakeFinder.addCapabilities(multiModel, bsc);
CapabilitiesFinder finder = new MultiSourceCapabilitiesFinder(fakeFinder, multiSourceModels);
@@ -121,8 +130,10 @@
System.out.println("\nMultiSource Plan:"); //$NON-NLS-1$
System.out.println(plan);
}
-
- TestProcessor.helpProcess(plan, context, dataMgr, expectedResults);
+ if (params != null) {
+ TestProcessor.setParameterValues(params, command, context);
+ }
+ TestProcessor.helpProcess(plan, context, dataMgr, expectedResults);
}
@Test public void testNoReplacement() throws Exception {
@@ -142,21 +153,33 @@
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
final List<?>[] expected =
- new List<?>[] { Arrays.asList(new Object[] { null, null, null}) };
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}) };
final HardcodedDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(false);
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
+ @Test public void testPreparedReplacement() throws Exception {
+ final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
+ final String userSql = "SELECT * FROM MultiModel.Phys WHERE SOURCE_NAME = ?"; //$NON-NLS-1$
+ final String multiModel = "MultiModel"; //$NON-NLS-1$
+ final int sources = 2;
+ final List<?>[] expected =
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}) };
+ final HardcodedDataManager dataMgr = new MultiSourceDataManager();
+ dataMgr.setMustRegisterCommands(false);
+ helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB(), Arrays.asList("a"));
+ }
+
@Test public void testMultiReplacement() throws Exception {
final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
final String userSql = "SELECT * FROM MultiModel.Phys"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
final List<?>[] expected =
- new List<?>[] { Arrays.asList(new Object[] { null, null, null}),
- Arrays.asList(new Object[] { null, null, null}),
- Arrays.asList(new Object[] { null, null, null})};
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}),
+ Arrays.asList(new Object[] { null, null, "b"}),
+ Arrays.asList(new Object[] { null, null, "c"})};
final ProcessorDataManager dataMgr = new MultiSourceDataManager();
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -164,44 +187,44 @@
@Test public void testMultiReplacementWithOrderBy() throws Exception {
QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
- final String userSql = "SELECT * FROM MultiModel.Phys order by a"; //$NON-NLS-1$
+ final String userSql = "SELECT a, b, source_name || a FROM MultiModel.Phys order by a"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
final List<?>[] expected = new List<?>[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
};
final HardcodedDataManager dataMgr = new HardcodedDataManager();
- dataMgr.addData("SELECT g_0.a, g_0.b, 'a' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('a', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
new List<?>[] {
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- dataMgr.addData("SELECT g_0.a, g_0.b, 'b' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('b', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
new List<?>[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@Test public void testMultiReplacementWithLimit() throws Exception {
final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
- final String userSql = "SELECT distinct * FROM MultiModel.Phys order by a limit 1"; //$NON-NLS-1$
+ final String userSql = "SELECT distinct a, b, source_name || a FROM MultiModel.Phys order by a limit 1"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
final List<?>[] expected = new List<?>[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
};
final HardcodedDataManager dataMgr = new HardcodedDataManager();
- dataMgr.addData("SELECT g_0.a, g_0.b, 'a' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List<?>[] {
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- dataMgr.addData("SELECT g_0.a, g_0.b, 'b' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List<?>[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('a', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('b', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
Modified: trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -23,8 +23,10 @@
package org.teiid.query.optimizer;
import org.junit.Test;
+import org.teiid.query.metadata.TransformationMetadata;
import org.teiid.query.optimizer.TestOptimizer.ComparisonMode;
import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
+import org.teiid.query.optimizer.capabilities.DefaultCapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.SourceCapabilities.Capability;
import org.teiid.query.processor.ProcessorPlan;
@@ -254,5 +256,36 @@
0, // Sort
2 // UnionAll
});
- }
+ }
+
+ @Test public void testUnionCosting() throws Exception {
+ TransformationMetadata metadata = RealMetadataFactory.example1();
+ RealMetadataFactory.setCardinality("pm1.g1", 100, metadata);
+ RealMetadataFactory.setCardinality("pm1.g2", 100, metadata);
+ RealMetadataFactory.setCardinality("pm1.g3", 100, metadata);
+ RealMetadataFactory.setCardinality("pm1.g4", 100, metadata);
+ BasicSourceCapabilities bac = new BasicSourceCapabilities();
+ bac.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION, true);
+ bac.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
+ ProcessorPlan plan = TestOptimizer.helpPlan("SELECT T.e1 AS e1, T.e2 AS e2, T.e3 AS e3 FROM (SELECT e1, 'a' AS e2, e3 FROM pm1.g1 UNION SELECT e1, 'b' AS e2, e3 FROM pm1.g2 UNION SELECT e1, 'c' AS e2, e3 FROM pm1.g3) AS T, vm1.g1 AS L WHERE (T.e1 = L.e1) AND (T.e3 = TRUE)", metadata, null, new DefaultCapabilitiesFinder(bac),//$NON-NLS-1$
+ new String[] { "SELECT pm1.g1.e1 FROM pm1.g1", "SELECT pm1.g1.e1, pm1.g1.e3 FROM pm1.g1 WHERE pm1.g1.e3 = TRUE", "SELECT pm1.g3.e1, pm1.g3.e3 FROM pm1.g3 WHERE pm1.g3.e3 = TRUE", "SELECT pm1.g2.e1, pm1.g2.e3 FROM pm1.g2 WHERE pm1.g2.e3 = TRUE" }, ComparisonMode.EXACT_COMMAND_STRING);
+
+ TestOptimizer.checkNodeTypes(plan, new int[] {
+ 4, // Access
+ 0, // DependentAccess
+ 0, // DependentSelect
+ 0, // DependentProject
+ 0, // DupRemove
+ 0, // Grouping
+ 0, // NestedLoopJoinStrategy
+ 1, // MergeJoinStrategy
+ 0, // Null
+ 0, // PlanExecution
+ 1, // Project
+ 0, // Select
+ 0, // Sort
+ 2 // UnionAll
+ });
+ }
+
}
Property changes on: trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3673-3711,3754-3769
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3149-3217,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3673-3711,3754-3769,3776-3813
/trunk/engine/src/test/java/org/teiid/query/optimizer/TestUnionPlanning.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -29,10 +29,12 @@
import java.util.List;
import org.junit.Test;
+import org.teiid.api.exception.query.QueryMetadataException;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.language.Select;
import org.teiid.query.metadata.QueryMetadataInterface;
+import org.teiid.query.metadata.TransformationMetadata;
import org.teiid.query.optimizer.TestOptimizer;
import org.teiid.query.optimizer.TestOptimizer.ComparisonMode;
import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
@@ -45,6 +47,7 @@
import org.teiid.query.sql.lang.Command;
import org.teiid.query.unittest.RealMetadataFactory;
import org.teiid.query.util.CommandContext;
+import org.teiid.translator.ExecutionFactory.NullOrder;
@SuppressWarnings({"unchecked", "nls"})
public class TestDependentJoins {
@@ -830,17 +833,80 @@
}
@Test public void testDependentJoinBackoff() throws Exception {
- // Create query
+ FakeDataManager dataManager = helpTestBackoff(true);
+
+ //note that the dependent join was not actually performed
+ assertEquals(new HashSet<String>(Arrays.asList("SELECT pm1.g1.e1 FROM pm1.g1", "SELECT pm6.g1.e1 FROM pm6.g1 ORDER BY pm6.g1.e1")),
+ new HashSet<String>(dataManager.getQueries()));
+ }
+
+ @Test public void testDependentJoinBackoff1() throws Exception {
+ FakeDataManager dataManager = helpTestBackoff(false);
+
+ //note that the dependent join was performed
+ assertEquals(4, new HashSet<String>(dataManager.getQueries()).size());
+ }
+
+ @Test public void testIssue1899() throws Exception {
+ String sql = "SELECT pm1.g1.e1 FROM pm1.g1, pm3.g1 WHERE pm1.g1.e1=pm3.g1.e1"; //$NON-NLS-1$
+
+ HardcodedDataManager dataManager = new HardcodedDataManager();
+ dataManager.addData("SELECT pm3.g1.e1 FROM pm3.g1 ORDER BY pm3.g1.e1", new List<?>[] {Arrays.asList("a"), Arrays.asList("b"), Arrays.asList("c")});
+ dataManager.addData("SELECT pm1.g1.e1 FROM pm1.g1", new List<?>[] {Arrays.asList("a")});
+
+ TransformationMetadata fakeMetadata = RealMetadataFactory.example4();
+ fakeMetadata.getGroupID("pm1.g1").getAccessPatterns().clear();
+ RealMetadataFactory.setCardinality("pm1.g1", 1000, fakeMetadata);
+ fakeMetadata.getElementID("pm1.g1.e1").setDistinctValues(40);
+ RealMetadataFactory.setCardinality("pm3.g1", 1, fakeMetadata);
+ fakeMetadata.getElementID("pm3.g1.e1").setDistinctValues(1);
+ // Plan query
+ FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
+ BasicSourceCapabilities depcaps = new BasicSourceCapabilities();
+ depcaps.setCapabilitySupport(Capability.CRITERIA_IN, true);
+ depcaps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
+ depcaps.setSourceProperty(Capability.QUERY_ORDERBY_DEFAULT_NULL_ORDER, NullOrder.HIGH);
+
+ BasicSourceCapabilities caps = new BasicSourceCapabilities();
+ caps.setCapabilitySupport(Capability.QUERY_ORDERBY, true);
+ caps.setSourceProperty(Capability.QUERY_ORDERBY_DEFAULT_NULL_ORDER, NullOrder.HIGH);
+
+ capFinder.addCapabilities("pm3", caps); //$NON-NLS-1$
+ capFinder.addCapabilities("pm1", depcaps); //$NON-NLS-1$
+
+ List[] expected = new List[] {
+ Arrays.asList(new Object[] {
+ new String("a")})}; //$NON-NLS-1$
+
+ ProcessorPlan plan = TestOptimizer.helpPlan(sql, fakeMetadata, new String[] {
+ "SELECT pm1.g1.e1 FROM pm1.g1 WHERE pm1.g1.e1 IN (<dependent values>)",
+ "SELECT pm3.g1.e1 FROM pm3.g1 ORDER BY pm3.g1.e1"
+ }, capFinder, ComparisonMode.EXACT_COMMAND_STRING);
+
+ // Run query
+ TestProcessor.helpProcess(plan, dataManager, expected);
+ }
+
+ private FakeDataManager helpTestBackoff(boolean setNdv) throws Exception,
+ QueryMetadataException, TeiidComponentException,
+ TeiidProcessingException {
+ // Create query
String sql = "SELECT pm1.g1.e1 FROM pm1.g1, pm6.g1 WHERE pm1.g1.e1=pm6.g1.e1"; //$NON-NLS-1$
// Construct data manager with data
FakeDataManager dataManager = new FakeDataManager();
sampleData4(dataManager);
- QueryMetadataInterface fakeMetadata = RealMetadataFactory.example1();
+ TransformationMetadata fakeMetadata = RealMetadataFactory.example1();
RealMetadataFactory.setCardinality("pm1.g1", 1, fakeMetadata);
+ if (setNdv) {
+ fakeMetadata.getElementID("pm1.g1.e1").setDistinctValues(1);
+ }
RealMetadataFactory.setCardinality("pm6.g1", 1000, fakeMetadata);
+ if (setNdv) {
+ fakeMetadata.getElementID("pm6.g1.e1").setDistinctValues(1000);
+ }
// Plan query
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities depcaps = new BasicSourceCapabilities();
@@ -865,11 +931,8 @@
// Run query
TestProcessor.helpProcess(plan, dataManager, expected);
-
- //note that the dependent join was not actually performed
- assertEquals(new HashSet<String>(Arrays.asList("SELECT pm1.g1.e1 FROM pm1.g1", "SELECT pm6.g1.e1 FROM pm6.g1 ORDER BY pm6.g1.e1")),
- new HashSet<String>(dataManager.getQueries()));
- }
+ return dataManager;
+ }
@Test public void testDjHint() {
// Create query
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3673-3711,3754-3769
/trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3149-3217,3535-3555,3558-3585
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3673-3711,3754-3769,3776-3813
/trunk/engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -5199,14 +5199,19 @@
ProcessorPlan plan = helpGetPlan(command, metadata, capFinder, context);
// Collect reference, set value
- VariableContext vc = new VariableContext();
+ setParameterValues(values, command, context);
+ // Run query
+ helpProcess(plan, context, dataManager, expected);
+ }
+
+ public static void setParameterValues(List<?> values, Command command,
+ CommandContext context) {
+ VariableContext vc = new VariableContext();
Iterator<?> valIter = values.iterator();
for (Reference ref : ReferenceCollectorVisitor.getReferences(command)) {
vc.setGlobalValue(ref.getContextSymbol(), valIter.next()); //$NON-NLS-1$
}
context.setVariableContext(vc);
- // Run query
- helpProcess(plan, context, dataManager, expected);
}
/** defect 15348
Property changes on: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3673-3711,3714-3752,3754-3769
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3188-3450,3452-3666
+ /branches/7.4.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3149-3217,3220-3275,3535-3555
/branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3673-3711,3714-3752,3754-3769,3776-3813
/trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java:3188-3450,3452-3666
Modified: trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -177,7 +177,7 @@
ExpressionMappingVisitor.mapExpressions(toMap, map);
- assertEquals("Did not get expected mapped expression", "SELECT z.X AS x", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("Did not get expected mapped expression", " z.X AS x", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
}
@Test public void testSelectAlias1() {
@@ -191,7 +191,7 @@
ExpressionMappingVisitor.mapExpressions(toMap, map);
- assertEquals("Did not get expected mapped expression", "SELECT z.x", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("Did not get expected mapped expression", " z.x", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
Modified: trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-01-23 19:06:21 UTC (rev 3814)
+++ trunk/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-01-23 19:59:01 UTC (rev 3815)
@@ -662,7 +662,7 @@
Select select = new Select();
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
- helpTest(select, "SELECT e1"); //$NON-NLS-1$
+ helpTest(select, " e1"); //$NON-NLS-1$
}
@Test public void testSelect2() {
@@ -670,7 +670,7 @@
select.setDistinct(true);
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
- helpTest(select, "SELECT DISTINCT e1"); //$NON-NLS-1$
+ helpTest(select, " DISTINCT e1"); //$NON-NLS-1$
}
@Test public void testSelect3() {
@@ -678,7 +678,7 @@
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
select.addSymbol(new ElementSymbol("e2")); //$NON-NLS-1$
- helpTest(select, "SELECT e1, e2"); //$NON-NLS-1$
+ helpTest(select, " e1, e2"); //$NON-NLS-1$
}
@Test public void testSetCriteria1() {
12 years, 11 months
teiid SVN: r3814 - in trunk/client/src/main: resources/org/teiid/jdbc and 1 other directory.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2012-01-23 14:06:21 -0500 (Mon, 23 Jan 2012)
New Revision: 3814
Modified:
trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java
trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java
trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
Log:
TEIID-1900: Added checks to make sure the Module library is available for the Teiid driver to load the needed classes.
Modified: trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java 2012-01-23 18:52:20 UTC (rev 3813)
+++ trunk/client/src/main/java/org/teiid/jdbc/EmbeddedProfile.java 2012-01-23 19:06:21 UTC (rev 3814)
@@ -71,10 +71,10 @@
try {
final Module module = Module.getCallerModuleLoader().loadModule(ModuleIdentifier.create("org.jboss.teiid")); //$NON-NLS-1$
Thread.currentThread().setContextClassLoader(module.getClassLoader());
+ return (ServerConnection)ReflectionHelper.create("org.teiid.transport.LocalServerConnection", Arrays.asList(info, PropertiesUtils.getBooleanProperty(info, USE_CALLING_THREAD, true)), Thread.currentThread().getContextClassLoader()); //$NON-NLS-1$
} catch (ModuleLoadException e) {
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- }
- return (ServerConnection)ReflectionHelper.create("org.teiid.transport.LocalServerConnection", Arrays.asList(info, PropertiesUtils.getBooleanProperty(info, USE_CALLING_THREAD, true)), Thread.currentThread().getContextClassLoader()); //$NON-NLS-1$
+ throw new TeiidRuntimeException(JDBCPlugin.Util.gs("teiid_module_load_failed")); //$NON-NLS-1$
+ }
} finally {
Thread.currentThread().setContextClassLoader(tccl);
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java 2012-01-23 18:52:20 UTC (rev 3813)
+++ trunk/client/src/main/java/org/teiid/jdbc/TeiidDriver.java 2012-01-23 19:06:21 UTC (rev 3814)
@@ -71,7 +71,7 @@
}
private ConnectionProfile socketProfile = new SocketProfile();
- private ConnectionProfile embeddedProfile = new EmbeddedProfile();
+ private ConnectionProfile embeddedProfile;
public static TeiidDriver getInstance() {
return INSTANCE;
@@ -102,6 +102,14 @@
try {
if (conn == ConnectionType.Embedded) {
+ if (embeddedProfile == null) {
+ try {
+ getClass().getClassLoader().loadClass("org.jboss.modules.Module"); //$NON-NLS-1$
+ } catch(ClassNotFoundException e) {
+ throw new TeiidSQLException(JDBCPlugin.Util.gs("module_load_failed")); //$NON-NLS-1$
+ }
+ embeddedProfile = new EmbeddedProfile();
+ }
myConnection = embeddedProfile.connect(url, info);
} else {
myConnection = socketProfile.connect(url, info);
Modified: trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
===================================================================
--- trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2012-01-23 18:52:20 UTC (rev 3813)
+++ trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2012-01-23 19:06:21 UTC (rev 3814)
@@ -157,4 +157,13 @@
client_prop_missing=Client URL connection property missing "{0}". Please add the property to connection URL.
system_prop_missing=System property "{0}" missing, please add using -D option on the VM startup script.
-JDBC.forward_only_resultset=Continuous queries must be forward only and return a result set.
\ No newline at end of file
+JDBC.forward_only_resultset=Continuous queries must be forward only and return a result set.
+module_load_failed=Teiid Embedded mode Driver failed to load. You must only create this type of connection in the same \
+VM as the Teiid Server. Use following driver fragment xml inside the JBoss AS configuration file\
+ <drivers>\
+ <driver name="teiid-local" module="org.jboss.teiid">\
+ <driver-class>org.teiid.jdbc.TeiidDriver</driver-class>\
+ <xa-datasource-class>org.teiid.jdbc.TeiidDataSource</xa-datasource-class>\
+ </driver> \
+ </drivers>
+teiid_module_load_failed=Failed to load "org.jboss.teiid" module.
\ No newline at end of file
12 years, 11 months
teiid SVN: r3813 - in trunk: api/src/main/java/org/teiid/metadata and 40 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-23 13:52:20 -0500 (Mon, 23 Jan 2012)
New Revision: 3813
Added:
trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java
trunk/common-core/src/main/java/org/teiid/core/types/basic/BinaryToBlobTransform.java
trunk/common-core/src/main/java/org/teiid/core/types/basic/BlobToBinaryTransform.java
trunk/metadata/src/main/resources/org/teiid/metadata/types.dat
Removed:
trunk/client/src/main/java/org/teiid/client/metadata/ResultsMetadataDefaults.java
trunk/metadata/DATATYPES.INDEX
trunk/metadata/system-vdb-update.txt
Modified:
trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
trunk/api/src/main/java/org/teiid/metadata/BaseColumn.java
trunk/api/src/main/java/org/teiid/metadata/Datatype.java
trunk/api/src/main/java/org/teiid/translator/TypeFacility.java
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
trunk/client/src/main/java/org/teiid/client/BatchSerializer.java
trunk/client/src/main/java/org/teiid/client/ResultsMessage.java
trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
trunk/client/src/test/java/org/teiid/client/TestBatchSerializer.java
trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java
trunk/client/src/test/java/org/teiid/jdbc/util/ResultSetUtil.java
trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java
trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java
trunk/common-core/src/main/java/org/teiid/core/types/basic/ClobToStringTransform.java
trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java
trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
trunk/engine/src/main/java/org/teiid/common/buffer/impl/SizeUtility.java
trunk/engine/src/main/java/org/teiid/core/id/UUID.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java
trunk/engine/src/main/java/org/teiid/query/sql/symbol/Constant.java
trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestSizeUtility.java
trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java
trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestConstant.java
trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
trunk/metadata/src/main/resources/System.vdb
trunk/metadata/src/test/java/org/teiid/metadata/index/VDBMetadataFactory.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/MockConnector.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java
trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
trunk/test-integration/common/src/test/resources/TestCase3473/testGetPrimaryKeys.expected
trunk/test-integration/common/src/test/resources/TestCase3473/testGetTables.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfoWithEscape.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeysWithEscape.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfo.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testPrimaryKeys.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
Log:
TEIID-1834 adding the varbinary type. switching resulsetutil to show the column name. taking ownership of built-in type metadata. and enabling client/server to use a more compact protocol
Modified: trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java
===================================================================
--- trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/api/src/main/java/org/teiid/language/visitor/SQLStringVisitor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -634,6 +634,10 @@
buffer.append("{d '") //$NON-NLS-1$
.append(val)
.append("'}"); //$NON-NLS-1$
+ } else if (type.equals(DataTypeManager.DefaultDataClasses.VARBINARY)) {
+ buffer.append("X'") //$NON-NLS-1$
+ .append(val)
+ .append("'"); //$NON-NLS-1$
} else {
buffer.append(Tokens.QUOTE)
.append(escapeString(val, Tokens.QUOTE))
Modified: trunk/api/src/main/java/org/teiid/metadata/BaseColumn.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/BaseColumn.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/api/src/main/java/org/teiid/metadata/BaseColumn.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -127,7 +127,7 @@
}
public void setDatatypeUUID(String string) {
- datatypeUUID = string;
+ datatypeUUID = DataTypeManager.getCanonicalString(string);
}
public void setDefaultValue(String object) {
@@ -146,24 +146,4 @@
}
}
- public String getDatatypeID() {
- if (this.datatype != null) {
- return this.datatype.getDatatypeID();
- }
- return null;
- }
-
- public String getBaseTypeID() {
- if (this.datatype != null) {
- return this.datatype.getBasetypeID();
- }
- return null;
- }
-
- public String getPrimitiveTypeID() {
- if (this.datatype != null) {
- return this.datatype.getPrimitiveTypeID();
- }
- return null;
- }
}
Modified: trunk/api/src/main/java/org/teiid/metadata/Datatype.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/Datatype.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/api/src/main/java/org/teiid/metadata/Datatype.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -28,7 +28,6 @@
public class Datatype extends AbstractMetadataRecord {
private static final long serialVersionUID = -7839335802224393230L;
- private static final String OLD_PACKAGE = "com.metamatrix.common."; //$NON-NLS-1$
public enum Type {
Basic,
@@ -43,9 +42,6 @@
Complex
}
- /** Delimiter used to separate the URI string from the URI fragment */
- public static final String URI_REFERENCE_DELIMITER = "#"; //$NON-NLS-1$
-
private static final String DEFAULT_JAVA_CLASS_NAME = "java.lang.Object"; //$NON-NLS-1$
private int length;
@@ -60,9 +56,7 @@
private NullType nullType;
private String javaClassName = DEFAULT_JAVA_CLASS_NAME;
private String runtimeTypeName;
- private String datatypeID;
- private String basetypeID;
- private String primitiveTypeID;
+ private String basetypeName;
private Variety varietyType;
public int getLength() {
@@ -121,26 +115,12 @@
return this.runtimeTypeName;
}
- public String getDatatypeID() {
- return this.datatypeID;
- }
-
- public String getBasetypeID() {
- return this.basetypeID;
- }
-
public String getBasetypeName() {
- if ( this.basetypeID != null ) {
- final int i = getBasetypeID().lastIndexOf(URI_REFERENCE_DELIMITER);
- if ( i != -1 && getBasetypeID().length() > (i+1)) {
- return getBasetypeID().substring(i+1);
- }
- }
- return null;
+ return this.basetypeName;
}
-
- public String getPrimitiveTypeID() {
- return this.primitiveTypeID;
+
+ public void setBasetypeName(String name) {
+ this.basetypeName = name;
}
public Variety getVarietyType() {
@@ -148,20 +128,6 @@
}
/**
- * @param string
- */
- public void setBasetypeID(String string) {
- basetypeID = string;
- }
-
- /**
- * @param string
- */
- public void setPrimitiveTypeID(String string) {
- primitiveTypeID = string;
- }
-
- /**
* @param b
*/
public void setAutoIncrement(boolean b) {
@@ -186,12 +152,6 @@
* @param string
*/
public void setJavaClassName(String string) {
- if (string != null) {
- int index = string.indexOf(OLD_PACKAGE);
- if (index == 0) {
- string = "org.teiid.core." + string.substring(OLD_PACKAGE.length()); //$NON-NLS-1$
- }
- }
javaClassName = string;
}
@@ -252,13 +212,6 @@
}
/**
- * @param string
- */
- public void setDatatypeID(String string) {
- datatypeID = string;
- }
-
- /**
* @param s
*/
public void setVarietyType(Variety s) {
@@ -278,8 +231,6 @@
sb.append(getJavaClassName());
sb.append(", ObjectID="); //$NON-NLS-1$
sb.append(getUUID());
- sb.append(", datatypeID="); //$NON-NLS-1$
- sb.append(getDatatypeID());
return sb.toString();
}
Modified: trunk/api/src/main/java/org/teiid/translator/TypeFacility.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/TypeFacility.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/api/src/main/java/org/teiid/translator/TypeFacility.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -30,6 +30,7 @@
import java.util.Date;
import java.util.TimeZone;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobType;
import org.teiid.core.types.DataTypeManager;
@@ -62,6 +63,7 @@
public static final int CLOB = DataTypeManager.DefaultTypeCodes.CLOB;
public static final int XML = DataTypeManager.DefaultTypeCodes.XML;
public static final int NULL = DataTypeManager.DefaultTypeCodes.NULL;
+ public static final int VARBINARY = DataTypeManager.DefaultTypeCodes.VARBINARY;
}
public interface RUNTIME_TYPES {
@@ -84,6 +86,8 @@
public static final Class<ClobType> CLOB = DataTypeManager.DefaultDataClasses.CLOB;
public static final Class<XMLType> XML = DataTypeManager.DefaultDataClasses.XML;
public static final Class<NullType> NULL = DataTypeManager.DefaultDataClasses.NULL;
+ public static final Class<BinaryType> VARBINARY = DataTypeManager.DefaultDataClasses.VARBINARY;
+
}
public static final class RUNTIME_NAMES {
@@ -106,6 +110,7 @@
public static final String BLOB = DataTypeManager.DefaultDataTypes.BLOB;
public static final String CLOB = DataTypeManager.DefaultDataTypes.CLOB;
public static final String XML = DataTypeManager.DefaultDataTypes.XML;
+ public static final String VARBINARY = DataTypeManager.DefaultDataTypes.VARBINARY;
}
/**
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-01-23 18:52:20 UTC (rev 3813)
@@ -38,6 +38,7 @@
<LI><B>Texttable selectors</B> - can be used to selectively parse only record lines matching a given selector string. Selectors may also be used for column values to join data from other records positionally.
<LI><B>Comparable LOBs</B> - the system property org.teiid.comparableLobs can be set to use CLOB and BLOB values in comparison/sorting/grouping operations.
<LI><B>Padded String Comparison</B> - the system property org.teiid.padSpace can be set to effectively right pad strings to the same length for comparison.
+ <LI><B>VARBINARY type support</B> - the Teiid VARBINARY type can now be used to support source BINARY and VARBINARY types.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
@@ -62,6 +63,7 @@
<li>Unaliased derived columns in the SELECT clause have different default names than prior releases. The name will be exprX where X is the SELECT clause position.
<li>The translator API facilities for iterator/bulk updates were combined and updated. Multi-valued literals were replaced by the Parameter class with an associated value iterator
available on the BatchedCommand. The IteratorValueSource class was also removed.
+ <li>varbinary was added as a reserved word.
</ul>
<h4>from 7.5</h4>
Modified: trunk/client/src/main/java/org/teiid/client/BatchSerializer.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/BatchSerializer.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/client/BatchSerializer.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -40,6 +40,7 @@
import java.util.TimeZone;
import org.teiid.core.TeiidRuntimeException;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobType;
import org.teiid.core.types.DataTypeManager;
@@ -72,6 +73,7 @@
serializers.put(DataTypeManager.DefaultDataTypes.SHORT, new ShortColumnSerializer());
serializers.put(DataTypeManager.DefaultDataTypes.TIME, new TimeColumnSerializer());
serializers.put(DataTypeManager.DefaultDataTypes.TIMESTAMP, new TimestampColumnSerializer());
+ serializers.put(DataTypeManager.DefaultDataTypes.VARBINARY, new BinaryColumnSerializer());
}
private static final Map<String, ColumnSerializer> version1serializers = new HashMap<String, ColumnSerializer>(128);
@@ -83,12 +85,55 @@
version1serializers.put(DataTypeManager.DefaultDataTypes.BLOB, new BlobColumnSerializer1());
version1serializers.put(DataTypeManager.DefaultDataTypes.XML, new XmlColumnSerializer1());
version1serializers.put(DataTypeManager.DefaultDataTypes.NULL, new NullColumnSerializer1());
- version1serializers.put(DataTypeManager.DefaultDataTypes.OBJECT, new ObjectColumnSerializer1());
+ version1serializers.put(DataTypeManager.DefaultDataTypes.OBJECT, new ObjectColumnSerializer1(DataTypeManager.DefaultTypeCodes.VARBINARY));
+ version1serializers.put(DataTypeManager.DefaultDataTypes.VARBINARY, new BinaryColumnSerializer1());
}
- public static final class ObjectColumnSerializer1 extends ColumnSerializer {
+ static class BinaryColumnSerializer1 extends ColumnSerializer {
+ @Override
+ protected void writeObject(ObjectOutput out, Object obj)
+ throws IOException {
+ byte[] bytes = ((BinaryType)obj).getBytes();
+ out.writeInt(bytes.length); //in theory this could be a short, but we're not strictly enforcing the length
+ out.write(bytes);
+ }
+
+ @Override
+ protected Object readObject(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ int length = in.readInt();
+ byte[] bytes = new byte[length];
+ in.readFully(bytes);
+ return new BinaryType(bytes);
+ }
+ }
+
+ static class BinaryColumnSerializer extends ColumnSerializer {
+ @Override
+ protected void writeObject(ObjectOutput out, Object obj)
+ throws IOException {
+ //uses object serialization for compatibility with legacy clients
+ super.writeObject(out, ((BinaryType)obj).getBytesDirect());
+ }
+
+ @Override
+ protected Object readObject(ObjectInput in) throws IOException,
+ ClassNotFoundException {
+ //won't actually be used
+ byte[] bytes = (byte[])super.readObject(in);
+ return new BinaryType(bytes);
+ }
+ }
+
+ public static final class ObjectColumnSerializer1 extends ColumnSerializer {
- @Override
+ int highestKnownCode;
+
+ public ObjectColumnSerializer1(int highestKnownCode) {
+ this.highestKnownCode = highestKnownCode;
+ }
+
+ @Override
protected void writeObject(ObjectOutput out, Object obj)
throws IOException {
int code = DataTypeManager.getTypeCode(obj.getClass());
@@ -99,7 +144,7 @@
} else {
out.write((byte)0);
}
- } else if (code != DataTypeManager.DefaultTypeCodes.OBJECT) {
+ } else if (code <= highestKnownCode && code != DataTypeManager.DefaultTypeCodes.OBJECT) {
ColumnSerializer s = getSerializer(DataTypeManager.getDataTypeName(obj.getClass()), (byte)1);
s.writeObject(out, obj);
} else {
@@ -532,7 +577,12 @@
if (batch == null) {
out.writeInt(-1);
} else {
- out.writeInt(batch.size());
+ if (version > 0 && batch.size() > 0) {
+ out.writeInt(-batch.size() -1);
+ out.writeByte(version);
+ } else {
+ out.writeInt(batch.size());
+ }
if (batch.size() > 0) {
int columns = types.length;
out.writeInt(columns);
@@ -558,27 +608,29 @@
}
public static List<List<Object>> readBatch(ObjectInput in, String[] types) throws IOException, ClassNotFoundException {
- return readBatch(in, types, (byte)1);
- }
-
- public static List<List<Object>> readBatch(ObjectInput in, String[] types, byte version) throws IOException, ClassNotFoundException {
int rows = in.readInt();
if (rows == 0) {
return new ArrayList<List<Object>>(0);
- } else if (rows > 0) {
- int columns = in.readInt();
- List<List<Object>> batch = new ResizingArrayList<List<Object>>(rows);
- int numBytes = rows/8;
- int extraRows = rows % 8;
- for (int currentRow = 0; currentRow < rows; currentRow++) {
- batch.add(currentRow, Arrays.asList(new Object[columns]));
- }
- byte[] isNullBuffer = new byte[(extraRows > 0) ? numBytes + 1: numBytes];
- for (int col = 0; col < columns; col++) {
- getSerializer(types[col], version).readColumn(in, col, batch, isNullBuffer);
- }
- return batch;
}
- return null;
+ if (rows == -1) {
+ return null;
+ }
+ byte version = (byte)0;
+ if (rows < 0) {
+ rows = -(rows+1);
+ version = in.readByte();
+ }
+ int columns = in.readInt();
+ List<List<Object>> batch = new ResizingArrayList<List<Object>>(rows);
+ int numBytes = rows/8;
+ int extraRows = rows % 8;
+ for (int currentRow = 0; currentRow < rows; currentRow++) {
+ batch.add(currentRow, Arrays.asList(new Object[columns]));
+ }
+ byte[] isNullBuffer = new byte[(extraRows > 0) ? numBytes + 1: numBytes];
+ for (int col = 0; col < columns; col++) {
+ getSerializer(types[col], version).readColumn(in, col, batch, isNullBuffer);
+ }
+ return batch;
}
}
Modified: trunk/client/src/main/java/org/teiid/client/ResultsMessage.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/ResultsMessage.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/client/ResultsMessage.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -242,7 +242,7 @@
dataTypes = ExternalizeUtil.readStringArray(in);
// Row data
- results = BatchSerializer.readBatch(in, dataTypes, (byte)0);
+ results = BatchSerializer.readBatch(in, dataTypes);
// Plan Descriptions
planDescription = (PlanNode)in.readObject();
@@ -274,7 +274,7 @@
ExternalizeUtil.writeArray(out, dataTypes);
// Results data
- BatchSerializer.writeBatch(out, dataTypes, results, (byte)0);
+ BatchSerializer.writeBatch(out, dataTypes, results, clientSerializationVersion);
// Plan descriptions
out.writeObject(this.planDescription);
Deleted: trunk/client/src/main/java/org/teiid/client/metadata/ResultsMetadataDefaults.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/metadata/ResultsMetadataDefaults.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/client/metadata/ResultsMetadataDefaults.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,118 +0,0 @@
-/*
- * 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.client.metadata;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.teiid.core.types.DataTypeManager;
-
-
-
-/**
- * @since 4.2
- */
-public class ResultsMetadataDefaults {
- public static final Integer DEFAULT_RADIX = new Integer(10);
- public static final Integer DEFAULT_SCALE = new Integer(0);
-
- // XML column constants
- public final static String XML_COLUMN_NAME = "xml"; //$NON-NLS-1$
- public final static Integer XML_COLUMN_LENGTH = new Integer(Integer.MAX_VALUE);
-
- // Update constants
- public static final String UPDATE_COLUMN = "count"; //$NON-NLS-1$
-
- /** Maximum display size for the data type (Class -> Integer) */
- private static final Map<String, Integer> MAX_DISPLAY_SIZE = new HashMap<String, Integer>();
- /** Default precision for a data type (String -> Integer) */
- private static final Map<String, Integer> DEFAULT_PRECISION = new HashMap<String, Integer>();
-
- static {
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.BIG_DECIMAL, new Integer(22));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.BIG_INTEGER, new Integer(20));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.BLOB, new Integer(Integer.MAX_VALUE));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.BOOLEAN, new Integer(5));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.BYTE, new Integer(4));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.CHAR, new Integer(1));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.CLOB, new Integer(Integer.MAX_VALUE));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.DATE, new Integer(10));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.DOUBLE, new Integer(22));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.FLOAT, new Integer(22));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.INTEGER, new Integer(11));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.LONG, new Integer(20));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.NULL, new Integer(0));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.OBJECT, new Integer(Integer.MAX_VALUE));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.SHORT, new Integer(6));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.STRING, new Integer(DataTypeManager.MAX_STRING_LENGTH));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.TIME, new Integer(8));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.TIMESTAMP, new Integer(29));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.XML, new Integer(Integer.MAX_VALUE));
- MAX_DISPLAY_SIZE.put(DataTypeManager.DefaultDataTypes.NULL, 4);
-
- /* NOTE1
- * For non-numeric columns (BLOB, BOOLEAN, CHAR, CLOB, DATE, OBJECT, STRING, TIME, TIMESTAMP, XML),
- * the default precision should be the max allowed length of the column
- */
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.BIG_DECIMAL, new Integer(20));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.BIG_INTEGER, new Integer(19));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.BLOB, new Integer(Integer.MAX_VALUE));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.BOOLEAN, new Integer(1));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.BYTE, new Integer(3));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.CHAR, new Integer(1));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.CLOB, new Integer(Integer.MAX_VALUE));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.DATE, new Integer(10));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.DOUBLE, new Integer(20));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.FLOAT, new Integer(20));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.INTEGER, new Integer(10));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.LONG, new Integer(19));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.NULL, new Integer(0));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.OBJECT, new Integer(Integer.MAX_VALUE));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.SHORT, new Integer(5));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.STRING, new Integer(DataTypeManager.MAX_STRING_LENGTH));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.TIME, new Integer(8));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.TIMESTAMP, new Integer(29));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.XML, new Integer(Integer.MAX_VALUE));
- DEFAULT_PRECISION.put(DataTypeManager.DefaultDataTypes.NULL, 1);
- }
-
- public static Integer getMaxDisplaySize(Class<?> dataTypeClass) {
- return MAX_DISPLAY_SIZE.get(DataTypeManager.getDataTypeName(dataTypeClass));
- }
-
- public static Integer getMaxDisplaySize(String typeName) {
- return MAX_DISPLAY_SIZE.get(typeName);
- }
-
- public static Integer getDefaultPrecision(Class<?> dataTypeClass) {
- return DEFAULT_PRECISION.get(DataTypeManager.getDataTypeName(dataTypeClass));
- }
-
- public static Integer getDefaultPrecision(String typeName) {
- return DEFAULT_PRECISION.get(typeName);
- }
-
- /** Uninstantiable */
- private ResultsMetadataDefaults() {}
-
-}
Modified: trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -26,23 +26,10 @@
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Date;
-import java.sql.NClob;
-import java.sql.Ref;
-import java.sql.RowId;
-import java.sql.SQLException;
-import java.sql.SQLXML;
-import java.sql.Time;
-import java.sql.Timestamp;
+import java.sql.*;
import java.util.Calendar;
import java.util.Map;
-import javax.sql.rowset.serial.SerialBlob;
-
import org.teiid.client.RequestMessage;
import org.teiid.client.RequestMessage.ResultsMode;
import org.teiid.client.RequestMessage.StatementType;
@@ -545,7 +532,7 @@
}
public void setBytes(String parameterName, byte[] x) throws SQLException {
- setObject((Object)parameterName, new SerialBlob(x));
+ setObject((Object)parameterName, x);
}
public void setCharacterStream(String parameterName, Reader reader)
Modified: trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -41,6 +41,7 @@
import java.sql.Time;
import java.sql.Timestamp;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.TransformationException;
import org.teiid.core.types.DataTypeManager.DefaultDataClasses;
@@ -127,6 +128,8 @@
return blob.getBytes(1, (int)length);
} else if (value instanceof String) {
return ((String)value).getBytes();
+ } else if (value instanceof BinaryType) {
+ return ((BinaryType)value).getBytesDirect();
}
throw new TeiidSQLException(JDBCPlugin.Util.getString("DataTypeTransformer.cannot_get_bytes")); //$NON-NLS-1$
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -32,12 +32,12 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import org.teiid.client.metadata.ResultsMetadataConstants;
-import org.teiid.client.metadata.ResultsMetadataDefaults;
import org.teiid.core.CoreConstants;
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.JDBCSQLTypeInfo;
@@ -45,6 +45,18 @@
public class DatabaseMetaDataImpl extends WrapperImpl implements DatabaseMetaData {
+ private static final HashSet<String> DATATYPES_WITH_NO_PRECISION = new HashSet<String>(
+ Arrays.asList(DataTypeManager.DefaultDataTypes.CHAR,
+ DataTypeManager.DefaultDataTypes.CLOB,
+ DataTypeManager.DefaultDataTypes.BLOB,
+ DataTypeManager.DefaultDataTypes.BOOLEAN,
+ DataTypeManager.DefaultDataTypes.DATE,
+ DataTypeManager.DefaultDataTypes.TIME,
+ DataTypeManager.DefaultDataTypes.TIMESTAMP,
+ DataTypeManager.DefaultDataTypes.OBJECT,
+ DataTypeManager.DefaultDataTypes.XML,
+ DataTypeManager.DefaultDataTypes.VARBINARY));
+
private static final String IS_NULLABLE = "CASE NullType WHEN 'Nullable' THEN 'YES' WHEN 'No Nulls' THEN 'NO' ELSE '' END AS IS_NULLABLE"; //$NON-NLS-1$
private static final String DATA_TYPES = "DataTypes"; //$NON-NLS-1$
@@ -113,26 +125,6 @@
public final static String VIRTUAL_MODEL_NAME = CoreConstants.SYSTEM_MODEL;
}
- private static final String TYPE_MAPPING;
-
- private static final String PRECISION_MAPPING;
-
- static {
- String[] internalTypes = JDBCSQLTypeInfo.getMMTypeNames();
- StringBuffer typeMapping = new StringBuffer();
- StringBuffer precisionMapping = new StringBuffer();
- for (int i = 0; i < internalTypes.length; i++) {
- if (i != 0) {
- typeMapping.append(","); //$NON-NLS-1$
- precisionMapping.append(","); //$NON-NLS-1$
- }
- typeMapping.append(internalTypes[i]).append(",").append(JDBCSQLTypeInfo.getSQLType(internalTypes[i])); //$NON-NLS-1$
- precisionMapping.append(internalTypes[i]).append(",").append(ResultsMetadataDefaults.getDefaultPrecision(internalTypes[i])); //$NON-NLS-1$
- }
- TYPE_MAPPING = typeMapping.toString();
- PRECISION_MAPPING = precisionMapping.toString();
- }
-
private static final String NULLABILITY_MAPPING =
new StringBuffer("No Nulls, ").append(DatabaseMetaData.columnNoNulls) //$NON-NLS-1$
.append( ", Nullable, ").append(DatabaseMetaData.columnNullable) //$NON-NLS-1$
@@ -159,17 +151,6 @@
// .append( ", STRUCT, ") .append(Types.STRUCT) //$NON-NLS-1$
// .append( ", null, ") .append(Types.JAVA_OBJECT).toString(); //$NON-NLS-1$
- private static final String DATATYPES_WITH_NO_PRECISION =
- new StringBuffer("'").append(DataTypeManager.DefaultDataTypes.STRING).append("', '") //$NON-NLS-1$ //$NON-NLS-2$
- .append(DataTypeManager.DefaultDataTypes.CHAR).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.CLOB).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.BLOB).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.BOOLEAN).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.DATE).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.TIME).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.TIMESTAMP).append("', '") //$NON-NLS-1$
- .append(DataTypeManager.DefaultDataTypes.OBJECT).append("'").toString(); //$NON-NLS-1$
-
// Queries
private final static String QUERY_REFERENCE_KEYS =
new StringBuffer("SELECT PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, PKCOLUMN_NAME, FKTABLE_CAT, FKTABLE_SCHEM") //$NON-NLS-1$
@@ -192,14 +173,14 @@
.append(" AND UCASE(FKTABLE_SCHEM)").append(LIKE_ESCAPE) //$NON-NLS-1$
.append(" AND UCASE(FKTABLE_NAME)").append(LIKE_ESCAPE).append("ORDER BY PKTABLE_NAME, KEY_SEQ").toString(); //$NON-NLS-1$//$NON-NLS-2$
+ /* Note that we're retrieving length as DATA_TYPE. Once retrieved when then correct this.
+ * This allows us to reuse the ResultSetMetadata.
+ */
private final static String QUERY_COLUMNS = new StringBuffer("SELECT VDBName AS TABLE_CAT") //$NON-NLS-1$
.append(", SchemaName AS TABLE_SCHEM, TableName AS TABLE_NAME, Name AS COLUMN_NAME") //$NON-NLS-1$
- .append(", convert(decodeString(DataType, '").append(TYPE_MAPPING).append("', ','), short) AS DATA_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
+ .append(", Length AS DATA_TYPE") //$NON-NLS-1$
.append(", DataType AS TYPE_NAME") //$NON-NLS-1$
- .append(", CASE WHEN (DataType IN (").append(DATATYPES_WITH_NO_PRECISION) //$NON-NLS-1$
- .append(")) THEN CASE WHEN Length <= 0 THEN convert(decodeString(DataType,'").append(PRECISION_MAPPING) //$NON-NLS-1$
- .append("',','), integer) ELSE Length END ELSE CASE WHEN e.Precision <= 0 THEN convert(decodeString(DataType,'") //$NON-NLS-1$
- .append(PRECISION_MAPPING).append("',','), integer) ELSE e.Precision END END AS COLUMN_SIZE") //$NON-NLS-1$
+ .append(", e.Precision AS COLUMN_SIZE") //$NON-NLS-1$
.append(", NULL AS BUFFER_LENGTH, Scale AS DECIMAL_DIGITS, Radix AS NUM_PREC_RADIX") //$NON-NLS-1$
.append(", convert(decodeString(NullType, '").append(NULLABILITY_MAPPING).append("', ','), integer) AS NULLABLE") //$NON-NLS-1$ //$NON-NLS-2$
.append(", Description AS REMARKS, DefaultValue AS COLUMN_DEF, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB") //$NON-NLS-1$
@@ -252,10 +233,8 @@
new StringBuffer("SELECT VDBName PROCEDURE_CAT, SchemaName AS PROCEDURE_SCHEM") //$NON-NLS-1$
.append(", ProcedureName AS PROCEDURE_NAME, p.Name AS COLUMN_NAME") //$NON-NLS-1$
.append(", convert(decodeString(TYPE, '").append(PARAM_DIRECTION_MAPPING).append("', ','), short) AS COLUMN_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
- .append(", convert(decodeString(DataType, '").append(TYPE_MAPPING).append("', ','), integer) AS DATA_TYPE") //$NON-NLS-1$ //$NON-NLS-2$
- .append(", DataType AS TYPE_NAME, CASE WHEN p.Precision <= 0 THEN convert(decodeString(DataType,'").append(PRECISION_MAPPING) //$NON-NLS-1$
- .append("',','), integer) ELSE p.Precision END AS \"PRECISION\", CASE WHEN TypeLength <= 0 THEN convert(decodeString(DataType,'") //$NON-NLS-1$
- .append(PRECISION_MAPPING).append("',','), integer) ELSE TypeLength END AS LENGTH, convert(Scale, short) AS SCALE") //$NON-NLS-1$
+ .append(", 1 AS DATA_TYPE") //$NON-NLS-1$
+ .append(", DataType AS TYPE_NAME, p.Precision AS \"PRECISION\", TypeLength AS LENGTH, convert(Scale, short) AS SCALE") //$NON-NLS-1$
.append(", Radix AS RADIX, convert(decodeString(NullType, '") //$NON-NLS-1$
.append(PROC_COLUMN_NULLABILITY_MAPPING).append("', ','), integer) AS NULLABLE") //$NON-NLS-1$
.append(", p.Description AS REMARKS, NULL AS COLUMN_DEF") //$NON-NLS-1$
@@ -392,35 +371,35 @@
// HardCoding metadata details for SCOPE column
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.SCOPE,
- JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for COLUMN_NAME column
metadataList[1] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.COLUMN_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for DATA_TYPE column
metadataList[2] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.DATA_TYPE,
- JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for TYPE_NAME column
metadataList[3] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.TYPE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for COLUMN_SIZE column
metadataList[4] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.COLUMN_SIZE,
- JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for BUFFER_LENGTH column
metadataList[5] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.BUFFER_LENGTH,
- JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for DECIMAL_DIGITS column
metadataList[6] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.DECIMAL_DIGITS,
- JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for PSEUDO_COLUMN column
metadataList[7] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.BEST_ROW.PSEUDO_COLUMN,
- JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// logging
String logMsg = JDBCPlugin.Util.getString("MMDatabaseMetadata.Best_row_sucess", table); //$NON-NLS-1$
@@ -442,7 +421,7 @@
// HardCoding metadata details for TABLE_CAT column
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.CATALOGS.TABLE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// logging
String logMsg = JDBCPlugin.Util.getString("MMDatabaseMetadata.Catalog_success"); //$NON-NLS-1$
@@ -486,21 +465,21 @@
Map[] metadataList = new Map[8];
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[1] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_SCHEM,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[2] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[3] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.COLUMN_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[4] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTOR,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[5] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTEE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[6] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.PRIVILEGE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[7] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.IS_GRANTABLE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
return dummyStatement().createResultSet(records, metadataList);
@@ -570,6 +549,24 @@
// get the value at the current index add it to currentRow
currentRow.add(results.getObject(i+1));
}
+ String typeName = (String)currentRow.get(JDBCColumnPositions.COLUMNS.TYPE_NAME-1);
+ Integer length = (Integer)currentRow.get(JDBCColumnPositions.COLUMNS.DATA_TYPE-1);
+ Integer precision = (Integer)currentRow.get(JDBCColumnPositions.COLUMNS.COLUMN_SIZE-1);
+ if (typeName != null) {
+ currentRow.set(JDBCColumnPositions.COLUMNS.DATA_TYPE-1, JDBCSQLTypeInfo.getSQLType(typeName));
+ if (DATATYPES_WITH_NO_PRECISION.contains(typeName)) {
+ if (length != null && length <= 0) {
+ currentRow.set(JDBCColumnPositions.COLUMNS.COLUMN_SIZE-1, JDBCSQLTypeInfo.getDefaultPrecision(typeName));
+ } else {
+ currentRow.set(JDBCColumnPositions.COLUMNS.COLUMN_SIZE-1, length);
+ }
+ } else if (precision != null && precision <= 0) {
+ currentRow.set(JDBCColumnPositions.COLUMNS.COLUMN_SIZE-1, JDBCSQLTypeInfo.getDefaultPrecision(typeName));
+ }
+ } else {
+ currentRow.set(JDBCColumnPositions.COLUMNS.DATA_TYPE-1, null);
+ currentRow.set(JDBCColumnPositions.COLUMNS.COLUMN_SIZE-1, null);
+ }
records.add(currentRow);
}// end of while
@@ -1179,7 +1176,20 @@
// get the value at the current index add it to currentRow
currentRow.add(results.getObject(i+1));
}
-
+ String typeName = (String)currentRow.get(JDBCColumnPositions.PROCEDURE_COLUMNS.TYPE_NAME-1);
+ Integer length = (Integer)currentRow.get(JDBCColumnPositions.PROCEDURE_COLUMNS.LENGTH-1);
+ Integer precision = (Integer)currentRow.get(JDBCColumnPositions.PROCEDURE_COLUMNS.PRECISION-1);
+ if (precision != null && precision <= 0) {
+ currentRow.set(JDBCColumnPositions.PROCEDURE_COLUMNS.PRECISION-1, JDBCSQLTypeInfo.getDefaultPrecision(typeName));
+ }
+ if (length != null && length <= 0) {
+ currentRow.set(JDBCColumnPositions.PROCEDURE_COLUMNS.LENGTH-1, JDBCSQLTypeInfo.getDefaultPrecision(typeName));
+ }
+ if (typeName != null) {
+ currentRow.set(JDBCColumnPositions.PROCEDURE_COLUMNS.DATA_TYPE-1, JDBCSQLTypeInfo.getSQLType(typeName));
+ } else {
+ currentRow.set(JDBCColumnPositions.PROCEDURE_COLUMNS.DATA_TYPE-1, null);
+ }
// add the current row to the list of records.
records.add(currentRow);
}// end of while
@@ -1319,19 +1329,19 @@
// HardCoding metadata details for TABLE_CAT column
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TABLES.TABLE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for TABLE_SCHEM column
metadataList[1] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TABLES.TABLE_SCHEM,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for TABLE_NAME column
metadataList[2] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TABLES.TABLE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for SUPERTABLE_NAME column
metadataList[3] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TABLES.SUPERTABLE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// construct results object from column values and their metadata
return dummyStatement().createResultSet(records, metadataList);
@@ -1357,27 +1367,27 @@
// HardCoding metadata details for TYPE_CAT column
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.TYPE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for TYPE_SCHEM column
metadataList[1] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.TYPE_SCHEM,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for TYPE_NAME column
metadataList[2] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.TYPE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// HardCoding metadata details for SUPERTYPE_CAT column
metadataList[3] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.SUPERTYPE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for SUPERTYPE_SCHEM column
metadataList[4] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.SUPERTYPE_SCHEM,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
// HardCoding metadata details for SUPERTYPE_NAME column
metadataList[5] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.SUPERTYPE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
// construct results object from column values and their metadata
return dummyStatement().createResultSet(records, metadataList);
@@ -1395,19 +1405,19 @@
Map[] metadataList = new Map[7];
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_CAT,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[1] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_SCHEM,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[2] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_NAME,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[3] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTOR,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
metadataList[4] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTEE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[5] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.PRIVILEGE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
metadataList[6] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.IS_GRANTABLE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, driverConnection);
return dummyStatement().createResultSet(records, metadataList);
@@ -1529,7 +1539,7 @@
Map[] metadataList = new Map[1];
metadataList[0] = StatementImpl.getColumnMetadata(null, JDBCColumnNames.TABLE_TYPES.TABLE_TYPE,
- JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
+ DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, driverConnection);
logger.fine(JDBCPlugin.Util.getString("MMDatabaseMetadata.getTableType_success")); //$NON-NLS-1$
@@ -1563,28 +1573,29 @@
records.add(Arrays.asList(createTypeInfoRow("timestamp", "{ts'", "}", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("object", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
records.add(Arrays.asList(createTypeInfoRow("blob", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
+ records.add(Arrays.asList(createTypeInfoRow("varbinary", "X'", "'", Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
records.add(Arrays.asList(createTypeInfoRow("clob", null, null, Boolean.TRUE, Boolean.TRUE, 0))); //$NON-NLS-1$
Map[] metadataList = new Map[18];
- metadataList[0] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.TYPE_NAME, JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[1] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.DATA_TYPE, JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[2] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.PRECISION, JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[3] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_PREFIX, JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[4] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_SUFFIX, JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[5] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.CREATE_PARAMS, JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[6] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.NULLABLE, JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[7] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.CASE_SENSITIVE, JDBCSQLTypeInfo.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.TRUE, driverConnection);//$NON-NLS-1$
- metadataList[8] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SEARCHABLE, JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[9] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.UNSIGNED_ATTRIBUTE, JDBCSQLTypeInfo.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[10] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.FIXED_PREC_SCALE, JDBCSQLTypeInfo.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[11] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.AUTOINCREMENT, JDBCSQLTypeInfo.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE, driverConnection);//$NON-NLS-1$
- metadataList[12] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LOCAL_TYPE_NAME, JDBCSQLTypeInfo.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[13] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.MINIMUM_SCALE, JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[14] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.MAXIMUM_SCALE, JDBCSQLTypeInfo.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[15] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATA_TYPE, JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[16] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATETIME_SUB, JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
- metadataList[17] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.NUM_PREC_RADIX, JDBCSQLTypeInfo.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[0] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.TYPE_NAME, DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[1] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.DATA_TYPE, DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[2] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.PRECISION, DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[3] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_PREFIX, DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[4] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_SUFFIX, DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[5] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.CREATE_PARAMS, DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[6] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.NULLABLE, DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[7] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.CASE_SENSITIVE, DataTypeManager.DefaultDataTypes.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.TRUE, driverConnection);//$NON-NLS-1$
+ metadataList[8] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SEARCHABLE, DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[9] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.UNSIGNED_ATTRIBUTE, DataTypeManager.DefaultDataTypes.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[10] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.FIXED_PREC_SCALE, DataTypeManager.DefaultDataTypes.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[11] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.AUTOINCREMENT, DataTypeManager.DefaultDataTypes.BOOLEAN, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE, driverConnection);//$NON-NLS-1$
+ metadataList[12] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.LOCAL_TYPE_NAME, DataTypeManager.DefaultDataTypes.STRING, ResultsMetadataConstants.NULL_TYPES.NOT_NULL, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[13] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.MINIMUM_SCALE, DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[14] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.MAXIMUM_SCALE, DataTypeManager.DefaultDataTypes.SHORT, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[15] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATA_TYPE, DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[16] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATETIME_SUB, DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
+ metadataList[17] = StatementImpl.getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." + DATA_TYPES, JDBCColumnNames.TYPE_INFO.NUM_PREC_RADIX, DataTypeManager.DefaultDataTypes.INTEGER, ResultsMetadataConstants.NULL_TYPES.NULLABLE, ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE, Boolean.FALSE, driverConnection);//$NON-NLS-1$
ResultSetMetaData rmetadata = new ResultSetMetaDataImpl(new MetadataProvider(metadataList), null);
@@ -1595,7 +1606,7 @@
}
private Object[] createTypeInfoRow(String typeName, String prefix, String suffix, Boolean unsigned, Boolean fixedPrecScale, int radix){
- return new Object[] {typeName, new Integer(JDBCSQLTypeInfo.getSQLType(typeName)), ResultsMetadataDefaults.getDefaultPrecision(typeName), prefix, suffix, null, new Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE, typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
+ return new Object[] {typeName, new Integer(JDBCSQLTypeInfo.getSQLType(typeName)), JDBCSQLTypeInfo.getDefaultPrecision(typeName), prefix, suffix, null, new Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE, typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
}
/**
@@ -1630,13 +1641,13 @@
JDBCColumnNames.UDTS.BASE_TYPE
};
String[] dataTypes = new String[] {
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.STRING,
- JDBCSQLTypeInfo.SHORT
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.STRING,
+ DataTypeManager.DefaultDataTypes.SHORT
};
return dummyStatement().createResultSet(Collections.EMPTY_LIST, columnNames, dataTypes);
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -37,8 +37,6 @@
import java.util.TimeZone;
import java.util.TreeMap;
-import javax.sql.rowset.serial.SerialBlob;
-
import org.teiid.client.RequestMessage;
import org.teiid.client.RequestMessage.ResultsMode;
import org.teiid.client.RequestMessage.StatementType;
@@ -48,6 +46,7 @@
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.types.BlobImpl;
import org.teiid.core.types.ClobImpl;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.InputStreamFactory;
import org.teiid.core.types.JDBCSQLTypeInfo;
import org.teiid.core.types.Streamable;
@@ -298,7 +297,7 @@
}
public void setBytes(int parameterIndex, byte bytes[]) throws SQLException {
- setObject(parameterIndex, new SerialBlob(bytes));
+ setObject(parameterIndex, bytes);
}
public void setCharacterStream (int parameterIndex, java.io.Reader reader, int length) throws SQLException {
@@ -379,7 +378,7 @@
}
void setObject(Object parameterIndex, Object value, int targetJdbcType) throws SQLException {
- Object targetObject = null;
+ Object targetObject = value;
if(value == null) {
setObject(parameterIndex, null);
@@ -387,45 +386,61 @@
}
// get the java class name for the given JDBC type
- String javaClassName = JDBCSQLTypeInfo.getJavaClassName(targetJdbcType);
+ String typeName = JDBCSQLTypeInfo.getTypeName(targetJdbcType);
+ int typeCode = DataTypeManager.getTypeCode(DataTypeManager.getDataTypeClass(typeName));
// transform the value to the target datatype
- if (targetJdbcType == Types.JAVA_OBJECT) {
- targetObject = value;
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.STRING_CLASS)) {
- targetObject = DataTypeTransformer.getString(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.CHAR_CLASS)) {
- targetObject = DataTypeTransformer.getCharacter(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.INTEGER_CLASS)) {
- targetObject = DataTypeTransformer.getInteger(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BYTE_CLASS)) {
- targetObject = DataTypeTransformer.getByte(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.SHORT_CLASS)) {
- targetObject = DataTypeTransformer.getShort(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.LONG_CLASS)) {
- targetObject = DataTypeTransformer.getLong(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.FLOAT_CLASS)) {
- targetObject = DataTypeTransformer.getFloat(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.DOUBLE_CLASS)) {
- targetObject = DataTypeTransformer.getDouble(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BOOLEAN_CLASS)) {
- targetObject = DataTypeTransformer.getBoolean(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BIGDECIMAL_CLASS)) {
- targetObject = DataTypeTransformer.getBigDecimal(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.TIMESTAMP_CLASS)) {
- targetObject = DataTypeTransformer.getTimestamp(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.DATE_CLASS)) {
- targetObject = DataTypeTransformer.getDate(value);
- } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.TIME_CLASS)) {
- targetObject = DataTypeTransformer.getTime(value);
- } else if (javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BLOB_CLASS)) {
- targetObject = DataTypeTransformer.getBlob(value);
- } else if (javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.CLOB_CLASS)) {
- targetObject = DataTypeTransformer.getClob(value);
- } else if (javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.XML_CLASS)) {
+ switch (typeCode) {
+ case DataTypeManager.DefaultTypeCodes.STRING:
+ targetObject = DataTypeTransformer.getString(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.CHAR:
+ targetObject = DataTypeTransformer.getCharacter(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.INTEGER:
+ targetObject = DataTypeTransformer.getInteger(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.BYTE:
+ targetObject = DataTypeTransformer.getByte(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.SHORT:
+ targetObject = DataTypeTransformer.getShort(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.LONG:
+ targetObject = DataTypeTransformer.getLong(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.FLOAT:
+ targetObject = DataTypeTransformer.getFloat(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.DOUBLE:
+ targetObject = DataTypeTransformer.getDouble(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.BOOLEAN:
+ targetObject = DataTypeTransformer.getBoolean(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.BIGDECIMAL:
+ targetObject = DataTypeTransformer.getBigDecimal(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.TIMESTAMP:
+ targetObject = DataTypeTransformer.getTimestamp(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.DATE:
+ targetObject = DataTypeTransformer.getDate(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.TIME:
+ targetObject = DataTypeTransformer.getTime(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.BLOB:
+ targetObject = DataTypeTransformer.getBlob(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.CLOB:
+ targetObject = DataTypeTransformer.getClob(value);
+ break;
+ case DataTypeManager.DefaultTypeCodes.XML:
targetObject = DataTypeTransformer.getSQLXML(value);
- } else {
- String msg = JDBCPlugin.Util.getString("MMPreparedStatement.Err_transform_obj"); //$NON-NLS-1$
- throw new TeiidSQLException(msg);
+ break;
+ case DataTypeManager.DefaultTypeCodes.VARBINARY:
+ targetObject = DataTypeTransformer.getBytes(value);
+ break;
}
setObject(parameterIndex, targetObject);
Modified: trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -27,20 +27,7 @@
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.Date;
-import java.sql.NClob;
-import java.sql.Ref;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.RowId;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Time;
-import java.sql.Timestamp;
+import java.sql.*;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
@@ -59,6 +46,7 @@
import org.teiid.client.util.ResultsFuture;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.BlobImpl;
import org.teiid.core.types.BlobType;
import org.teiid.core.types.ClobImpl;
@@ -324,6 +312,10 @@
String val = (String)currentValue;
currentValue = val.substring(0, Math.min(maxFieldSize/2, val.length()));
}
+ else if (currentValue instanceof BinaryType) {
+ BinaryType val = (BinaryType)currentValue;
+ currentValue = val.getBytesDirect();
+ }
return currentValue;
}
Modified: trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -44,13 +44,13 @@
import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.client.metadata.ParameterInfo;
import org.teiid.client.metadata.ResultsMetadataConstants;
-import org.teiid.client.metadata.ResultsMetadataDefaults;
import org.teiid.client.plan.Annotation;
import org.teiid.client.plan.PlanNode;
import org.teiid.client.util.ResultsFuture;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidException;
import org.teiid.core.TeiidProcessingException;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.JDBCSQLTypeInfo;
import org.teiid.core.types.SQLXMLImpl;
import org.teiid.core.util.SqlUtil;
@@ -503,7 +503,7 @@
records.add(row);
}
createResultSet(records, new String[] {"PLAN_TEXT", "PLAN_XML", "DEBUG_LOG"}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- new String[] {JDBCSQLTypeInfo.CLOB, JDBCSQLTypeInfo.XML, JDBCSQLTypeInfo.CLOB});
+ new String[] {DataTypeManager.DefaultDataTypes.CLOB, DataTypeManager.DefaultDataTypes.XML, DataTypeManager.DefaultDataTypes.CLOB});
return booleanFuture(true);
}
if (show.equalsIgnoreCase("ANNOTATIONS")) { //$NON-NLS-1$
@@ -518,7 +518,7 @@
records.add(row);
}
createResultSet(records, new String[] {"CATEGORY", "PRIORITY", "ANNOTATION", "RESOLUTION"}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] {JDBCSQLTypeInfo.STRING, JDBCSQLTypeInfo.STRING, JDBCSQLTypeInfo.STRING, JDBCSQLTypeInfo.STRING});
+ new String[] {DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.STRING});
return booleanFuture(true);
}
if (show.equalsIgnoreCase("ALL")) { //$NON-NLS-1$
@@ -530,11 +530,11 @@
records.add(row);
}
createResultSet(records, new String[] {"NAME", "VALUE"}, //$NON-NLS-1$ //$NON-NLS-2$
- new String[] {JDBCSQLTypeInfo.STRING, JDBCSQLTypeInfo.STRING});
+ new String[] {DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.STRING});
return booleanFuture(true);
}
List<List<String>> records = Collections.singletonList(Collections.singletonList(driverConnection.getExecutionProperties().getProperty(JDBCURL.getValidKey(show))));
- createResultSet(records, new String[] {show}, new String[] {JDBCSQLTypeInfo.STRING});
+ createResultSet(records, new String[] {show}, new String[] {DataTypeManager.DefaultDataTypes.STRING});
return booleanFuture(true);
}
}
@@ -1086,7 +1086,7 @@
metadataMap.put(ResultsMetadataConstants.GROUP_NAME, tableName);
metadataMap.put(ResultsMetadataConstants.ELEMENT_NAME, columnName);
metadataMap.put(ResultsMetadataConstants.DATA_TYPE, dataType);
- metadataMap.put(ResultsMetadataConstants.PRECISION, ResultsMetadataDefaults.getDefaultPrecision(dataType));
+ metadataMap.put(ResultsMetadataConstants.PRECISION, JDBCSQLTypeInfo.getDefaultPrecision(dataType));
metadataMap.put(ResultsMetadataConstants.RADIX, new Integer(10));
metadataMap.put(ResultsMetadataConstants.SCALE, new Integer(0));
metadataMap.put(ResultsMetadataConstants.AUTO_INCREMENTING, Boolean.FALSE);
@@ -1096,7 +1096,7 @@
metadataMap.put(ResultsMetadataConstants.SIGNED, signed);
metadataMap.put(ResultsMetadataConstants.WRITABLE, writable);
metadataMap.put(ResultsMetadataConstants.CURRENCY, Boolean.FALSE);
- metadataMap.put(ResultsMetadataConstants.DISPLAY_SIZE, ResultsMetadataDefaults.getMaxDisplaySize(dataType));
+ metadataMap.put(ResultsMetadataConstants.DISPLAY_SIZE, JDBCSQLTypeInfo.getMaxDisplaySize(dataType));
return metadataMap;
}
Modified: trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
===================================================================
--- trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2012-01-23 18:52:20 UTC (rev 3813)
@@ -24,7 +24,6 @@
DataTypeTransformer.Err_converting=Unable to transform the column value {0} to a {1}.
JDBC.Method_not_supported=This method is not supported.
-MMPreparedStatement.Err_transform_obj=Unable to transform the object into the target JDBC type.
MMCallableStatement.Param_not_found=Parameter {0} was not found.
MMConnection.Err_closing_stmts=Error trying to close statements on this connection.
MMConnection.Cant_use_closed_connection=Cannot perform operations on a closed connection.
Modified: trunk/client/src/test/java/org/teiid/client/TestBatchSerializer.java
===================================================================
--- trunk/client/src/test/java/org/teiid/client/TestBatchSerializer.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/test/java/org/teiid/client/TestBatchSerializer.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -34,6 +34,7 @@
import junit.framework.TestCase;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.TimestampWithTimezone;
@@ -78,6 +79,7 @@
DataTypeManager.DefaultDataTypes.TIME,
DataTypeManager.DefaultDataTypes.TIMESTAMP,
DataTypeManager.DefaultDataTypes.OBJECT,
+ DataTypeManager.DefaultDataTypes.VARBINARY,
};
private static String sampleString(int length) {
char[] chars = new char[length];
@@ -92,7 +94,7 @@
for (int i = 0; i < rows; i++) {
java.util.Date d = new java.util.Date();
- int mod = i%14;
+ int mod = i%16;
Object[] data = { (mod == 0) ? null : new BigDecimal("" + i), //$NON-NLS-1$
(mod == 1) ? null : new BigInteger(Integer.toString(i)),
(mod == 2) ? null : ((i%2 == 0) ? Boolean.FALSE: Boolean.TRUE),
@@ -108,6 +110,7 @@
(mod == 12) ? null : TimestampWithTimezone.createTime(d),
(mod == 13) ? null : TimestampWithTimezone.createTimestamp(d),
(mod == 14) ? null : TimestampWithTimezone.createTimestamp(d),
+ (mod == 15) ? null : new BinaryType(new byte[] {(byte)i}),
};
batch[i] = Arrays.asList(data);
}
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -46,7 +46,7 @@
import org.teiid.client.ResultsMessage;
import org.teiid.client.util.ResultsFuture;
import org.teiid.core.TeiidProcessingException;
-import org.teiid.core.types.JDBCSQLTypeInfo;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.TimestampWithTimezone;
import org.teiid.query.unittest.TimestampUtil;
@@ -696,7 +696,7 @@
}
@Test(expected=TeiidSQLException.class) public void testResultsMessageException() throws Exception {
- ResultsMessage resultsMsg = exampleMessage(exampleResults1(1), new String[] { "IntNum" }, new String[] { JDBCSQLTypeInfo.INTEGER }); //$NON-NLS-1$
+ ResultsMessage resultsMsg = exampleMessage(exampleResults1(1), new String[] { "IntNum" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER }); //$NON-NLS-1$
resultsMsg.setFinalRow(-1);
ResultsMessage next = new ResultsMessage();
next.setException(new Throwable());
@@ -769,8 +769,8 @@
private String[] dataTypes() {
String[] types = new String[2];
- types[0] = JDBCSQLTypeInfo.INTEGER;
- types[1] = JDBCSQLTypeInfo.STRING;
+ types[0] = DataTypeManager.DefaultDataTypes.INTEGER;
+ types[1] = DataTypeManager.DefaultDataTypes.STRING;
return types;
}
@@ -791,7 +791,7 @@
/** without metadata info. */
private ResultsMessage exampleResultsMsg1() {
- return exampleMessage(exampleResults1(5), new String[] { "IntNum" }, new String[] { JDBCSQLTypeInfo.INTEGER }); //$NON-NLS-1$
+ return exampleMessage(exampleResults1(5), new String[] { "IntNum" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER }); //$NON-NLS-1$
}
private ResultsMessage exampleMessage(List<Object>[] results, String[] columnNames, String[] datatypes) {
@@ -809,7 +809,7 @@
/** without metadata info. */
private ResultsMessage exampleResultsMsg2() {
- return exampleMessage(exampleResults2(), new String[] { "IntNum", "StringNum" }, new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
+ return exampleMessage(exampleResults2(), new String[] { "IntNum", "StringNum" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
}
/** with limited metadata info. */
@@ -828,7 +828,7 @@
/** no rows. */
private ResultsMessage exampleResultsMsg3() {
- return exampleMessage(new List[0], new String[] { "IntNum", "StringNum" }, new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
+ return exampleMessage(new List[0], new String[] { "IntNum", "StringNum" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
}
private static ResultsMessage exampleResultsMsg4(int begin, int length, boolean lastBatch) {
@@ -838,7 +838,7 @@
List[] results = exampleResults1(length, begin);
resultsMsg.setResults(results);
resultsMsg.setColumnNames(new String[] { "IntKey" }); //$NON-NLS-1$
- resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.INTEGER });
+ resultsMsg.setDataTypes(new String[] { DataTypeManager.DefaultDataTypes.INTEGER });
resultsMsg.setFirstRow(begin);
if (lastBatch) {
resultsMsg.setFinalRow(begin + results.length - 1);
@@ -865,7 +865,7 @@
ResultsMessage resultsMsg = new ResultsMessage();
resultsMsg.setResults(new List[] {Arrays.asList(new Timestamp(0))});
resultsMsg.setColumnNames(new String[] { "TS" }); //$NON-NLS-1$
- resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.TIMESTAMP });
+ resultsMsg.setDataTypes(new String[] { DataTypeManager.DefaultDataTypes.TIMESTAMP });
resultsMsg.setFirstRow(1);
resultsMsg.setFinalRow(1);
resultsMsg.setLastRow(1);
@@ -882,7 +882,7 @@
@Test public void testWasNull() throws SQLException{
ResultsMessage message = exampleMessage(new List[] { Arrays.asList((String)null), Arrays.asList("1") }, new String[] { "string" }, //$NON-NLS-1$
- new String[] { JDBCSQLTypeInfo.STRING });
+ new String[] { DataTypeManager.DefaultDataTypes.STRING });
ResultSetImpl rs = new ResultSetImpl(message, statement);
assertTrue(rs.next());
assertEquals(Boolean.FALSE.booleanValue(), rs.getBoolean(1));
@@ -909,7 +909,7 @@
TimeZone.setDefault(TimeZone.getTimeZone("GMT-05:00")); //$NON-NLS-1$
ResultsMessage message = exampleMessage(new List[] { Arrays.asList(1, TimestampUtil.createTime(0, 0, 0), TimestampUtil.createDate(1, 1, 1), TimestampUtil.createTimestamp(1, 1, 1, 1, 1, 1, 1), "<root/>") }, //$NON-NLS-1$
new String[] { "int", "time", "date", "timestamp", "sqlxml" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.TIME, JDBCSQLTypeInfo.DATE, JDBCSQLTypeInfo.TIMESTAMP, JDBCSQLTypeInfo.STRING });
+ new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.TIME, DataTypeManager.DefaultDataTypes.DATE, DataTypeManager.DefaultDataTypes.TIMESTAMP, DataTypeManager.DefaultDataTypes.STRING });
TimestampWithTimezone.resetCalendar(TimeZone.getTimeZone("GMT-06:00")); //$NON-NLS-1$
ResultSetImpl rs = new ResultSetImpl(message, statement);
assertTrue(rs.next());
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestCallableStatement.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -38,7 +38,7 @@
import org.teiid.client.ResultsMessage;
import org.teiid.client.metadata.ParameterInfo;
import org.teiid.client.security.LogonResult;
-import org.teiid.core.types.JDBCSQLTypeInfo;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.net.ServerConnection;
@SuppressWarnings("nls")
@@ -70,7 +70,7 @@
List<?>[] results = new List[] {Arrays.asList(null, null, null), Arrays.asList(null, 1, 2)};
resultsMsg.setResults(results);
resultsMsg.setColumnNames(new String[] { "IntNum", "Out1", "Out2" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.INTEGER });
+ resultsMsg.setDataTypes(new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER });
resultsMsg.setFinalRow(results.length);
resultsMsg.setLastRow(results.length);
resultsMsg.setFirstRow(1);
Modified: trunk/client/src/test/java/org/teiid/jdbc/util/ResultSetUtil.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/util/ResultSetUtil.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/client/src/test/java/org/teiid/jdbc/util/ResultSetUtil.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -261,7 +261,7 @@
StringWriter types = new StringWriter();
StringWriter columns = new StringWriter();
for (int i = 1; i <= count; i++) {
- String columnName = rsmd.getColumnName(i);
+ String columnName = rsmd.getColumnLabel(i);
String typeName = rsmd.getColumnTypeName(i);
if (maxColWidth == 0) {
// Sets the width of the column to the wider of the column name and the column type name.
@@ -553,7 +553,7 @@
private BufferedReader in;
private int line = 0;
- private ArrayList unequalLines = new ArrayList();
+ private ArrayList<String> unequalLines = new ArrayList<String>();
private ComparingPrintStream(OutputStream out, BufferedReader in) {
super(out);
@@ -645,14 +645,14 @@
try {
String expectedLine = in.readLine();
if (!bufferedLine.equals(expectedLine)) {
- unequalLines.add("\n" + new Integer(line) + ":" + bufferedLine );
+ unequalLines.add("\n" + line + " expected: " +expectedLine+ " but was: " + bufferedLine );
}
} catch (IOException e) {
}
}
- public List getUnequalLines() {
+ public List<String> getUnequalLines() {
return unequalLines;
}
}
Added: trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java (rev 0)
+++ trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -0,0 +1,112 @@
+/*
+ * 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.core.types;
+
+import java.util.Arrays;
+
+import javax.xml.bind.DatatypeConverter;
+
+import org.teiid.core.util.Assertion;
+
+public final class BinaryType implements Comparable<BinaryType> {
+
+ private byte[] bytes;
+
+ public BinaryType(byte[] bytes) {
+ Assertion.isNotNull(bytes);
+ //to be truly immutable we should clone here
+ this.bytes = bytes;
+ }
+
+ /**
+ *
+ * @return the actual bytes - no modifications should be performed
+ */
+ public byte[] getBytesDirect() {
+ return this.bytes;
+ }
+
+ /**
+ *
+ * @return a copy of the bytes
+ */
+ public byte[] getBytes() {
+ return Arrays.copyOf(bytes, bytes.length);
+ }
+
+ /**
+ * Get the byte value at a given index
+ * @param index
+ * @return
+ */
+ public byte getByte(int index) {
+ return bytes[index];
+ }
+
+ public int getLength() {
+ return bytes.length;
+ }
+
+ @Override
+ public int compareTo(BinaryType o) {
+ int len1 = getLength();
+ int len2 = o.getLength();
+ int n = Math.min(len1, len2);
+ for (int i = 0; i < n; i++) {
+ //unsigned comparison
+ int b1 = bytes[i] & 0xff;
+ int b2 = o.bytes[i] & 0xff;
+ if (b1 != b2) {
+ return b1 - b2;
+ }
+ }
+ return len1 - len2;
+ }
+
+ @Override
+ public int hashCode() {
+ return Arrays.hashCode(bytes);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof BinaryType)) {
+ return false;
+ }
+ BinaryType other = (BinaryType)obj;
+ return Arrays.equals(this.bytes, other.bytes);
+ }
+
+ @Override
+ public String toString() {
+ return DatatypeConverter.printHexBinary(bytes);
+ }
+
+ public BlobType toBlob() {
+ return new BlobType(BlobType.createBlob(bytes));
+ }
+
+}
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/BinaryType.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -190,6 +190,7 @@
public static final String BLOB = "blob"; //$NON-NLS-1$
public static final String CLOB = "clob"; //$NON-NLS-1$
public static final String XML = "xml"; //$NON-NLS-1$
+ public static final String VARBINARY = "varbinary"; //$NON-NLS-1$
}
public static final class DefaultDataClasses {
@@ -212,6 +213,7 @@
public static final Class<BlobType> BLOB = BlobType.class;
public static final Class<ClobType> CLOB = ClobType.class;
public static final Class<XMLType> XML = XMLType.class;
+ public static final Class<BinaryType> VARBINARY = BinaryType.class;
}
public static final class DefaultTypeCodes {
@@ -234,9 +236,10 @@
public static final int CLOB = 16;
public static final int XML = 17;
public static final int NULL = 18;
+ public static final int VARBINARY = 19;
}
- public static int MAX_TYPE_CODE = DefaultTypeCodes.NULL;
+ public static int MAX_TYPE_CODE = DefaultTypeCodes.VARBINARY;
private static final Map<Class<?>, Integer> typeMap = new LinkedHashMap<Class<?>, Integer>(64);
private static final List<Class<?>> typeList;
@@ -261,15 +264,24 @@
typeMap.put(DataTypeManager.DefaultDataClasses.CLOB, DefaultTypeCodes.CLOB);
typeMap.put(DataTypeManager.DefaultDataClasses.XML, DefaultTypeCodes.XML);
typeMap.put(DataTypeManager.DefaultDataClasses.NULL, DefaultTypeCodes.NULL);
+ typeMap.put(DataTypeManager.DefaultDataClasses.VARBINARY, DefaultTypeCodes.VARBINARY);
typeList = new ArrayList<Class<?>>(typeMap.keySet());
}
public static int getTypeCode(Class<?> source) {
- return typeMap.get(source).intValue();
+ Integer result = typeMap.get(source);
+ if (result == null) {
+ return DefaultTypeCodes.OBJECT;
+ }
+ return result;
}
public static Class<?> getClass(int code) {
- return typeList.get(code);
+ Class<?> result = typeList.get(code);
+ if (result == null) {
+ return DefaultDataClasses.OBJECT;
+ }
+ return result;
}
/**
@@ -568,6 +580,7 @@
DataTypeManager.addDataType(DefaultDataTypes.OBJECT, DefaultDataClasses.OBJECT);
DataTypeManager.addDataType(DefaultDataTypes.NULL, DefaultDataClasses.NULL);
DataTypeManager.addDataType(DefaultDataTypes.BLOB, DefaultDataClasses.BLOB);
+ DataTypeManager.addDataType(DefaultDataTypes.VARBINARY, DefaultDataClasses.VARBINARY);
DATA_TYPE_NAMES = Collections.unmodifiableSet(new LinkedHashSet<String>(dataTypeNames.keySet()));
dataTypeNames.put(DataTypeAliases.BIGINT, DefaultDataClasses.LONG);
dataTypeNames.put(DataTypeAliases.DECIMAL, DefaultDataClasses.BIG_DECIMAL);
@@ -600,8 +613,9 @@
valueMaps.put(DefaultDataClasses.DATE, new HashedValueCache<Date>(14));
valueMaps.put(DefaultDataClasses.TIME, new HashedValueCache<Time>(14));
valueMaps.put(DefaultDataClasses.TIMESTAMP, new HashedValueCache<Timestamp>(14));
- valueMaps.put(DefaultDataClasses.BIG_DECIMAL, new WeakReferenceHashedValueCache<BigDecimal>(16));
+ valueMaps.put(DefaultDataClasses.BIG_DECIMAL, new WeakReferenceHashedValueCache<BigDecimal>(17));
valueMaps.put(DefaultDataClasses.STRING, stringCache);
+ valueMaps.put(DefaultDataClasses.VARBINARY, new WeakReferenceHashedValueCache<BinaryType>(17));
}
}
@@ -727,8 +741,12 @@
DataTypeManager.addTransform(new org.teiid.core.types.basic.StringToCharacterTransform());
DataTypeManager.addTransform(new org.teiid.core.types.basic.StringToClobTransform());
DataTypeManager.addTransform(new org.teiid.core.types.basic.StringToSQLXMLTransform());
-
+
+ DataTypeManager.addTransform(new org.teiid.core.types.basic.BinaryToBlobTransform());
+
DataTypeManager.addTransform(new org.teiid.core.types.basic.ClobToStringTransform());
+
+ DataTypeManager.addTransform(new org.teiid.core.types.basic.BlobToBinaryTransform());
DataTypeManager.addTransform(new org.teiid.core.types.basic.SQLXMLToStringTransform());
@@ -752,28 +770,28 @@
}
static void loadSourceConversions() {
- sourceConverters.put(Clob.class, new SourceTransform<Clob, ClobType>() {
+ addSourceTransform(Clob.class, new SourceTransform<Clob, ClobType>() {
@Override
public ClobType transform(Clob value) {
return new ClobType(value);
}
});
- sourceConverters.put(char[].class, new SourceTransform<char[], ClobType>() {
+ addSourceTransform(char[].class, new SourceTransform<char[], ClobType>() {
@Override
public ClobType transform(char[] value) {
return new ClobType(ClobType.createClob(value));
}
});
- sourceConverters.put(Blob.class, new SourceTransform<Blob, BlobType>() {
+ addSourceTransform(Blob.class, new SourceTransform<Blob, BlobType>() {
@Override
public BlobType transform(Blob value) {
return new BlobType(value);
}
});
- addSourceTransform(byte[].class, new SourceTransform<byte[], BlobType>() {
+ addSourceTransform(byte[].class, new SourceTransform<byte[], BinaryType>() {
@Override
- public BlobType transform(byte[] value) {
- return new BlobType(BlobType.createBlob(value));
+ public BinaryType transform(byte[] value) {
+ return new BinaryType(value);
}
});
addSourceTransform(SQLXML.class, new SourceTransform<SQLXML, XMLType>() {
Modified: trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/common-core/src/main/java/org/teiid/core/types/JDBCSQLTypeInfo.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -25,10 +25,11 @@
import java.sql.Blob;
import java.sql.Clob;
import java.sql.SQLXML;
-
import java.sql.Types;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.Set;
/**
* <p> This is a helper class used to obtain SQL type information for java types.
@@ -37,99 +38,82 @@
*/
public final class JDBCSQLTypeInfo {
-
-
+
+ public static class TypeInfo {
+ String name;
+ int maxDisplaySize;
+ int defaultPrecision;
+ String javaClassName;
+ int[] jdbcTypes;
+
+ public TypeInfo(int maxDisplaySize, int precision, String name,
+ String javaClassName, int[] jdbcTypes) {
+ super();
+ this.maxDisplaySize = maxDisplaySize;
+ this.defaultPrecision = precision;
+ this.name = name;
+ this.javaClassName = javaClassName;
+ this.jdbcTypes = jdbcTypes;
+ }
+
+ }
+
// Prevent instantiation
private JDBCSQLTypeInfo() {}
-
- // metamatrix types
- public static final String STRING = DataTypeManager.DefaultDataTypes.STRING;
- public static final String BOOLEAN = DataTypeManager.DefaultDataTypes.BOOLEAN;
- public static final String TIME = DataTypeManager.DefaultDataTypes.TIME;
- public static final String DATE = DataTypeManager.DefaultDataTypes.DATE;
- public static final String TIMESTAMP = DataTypeManager.DefaultDataTypes.TIMESTAMP;
- public static final String INTEGER = DataTypeManager.DefaultDataTypes.INTEGER;
- public static final String FLOAT = DataTypeManager.DefaultDataTypes.FLOAT;
- public static final String DOUBLE = DataTypeManager.DefaultDataTypes.DOUBLE;
- public static final String BIGDECIMAL = DataTypeManager.DefaultDataTypes.BIG_DECIMAL;
- public static final String BIGINTEGER = DataTypeManager.DefaultDataTypes.BIG_INTEGER;
- public static final String BYTE = DataTypeManager.DefaultDataTypes.BYTE;
- public static final String SHORT = DataTypeManager.DefaultDataTypes.SHORT;
- public static final String LONG = DataTypeManager.DefaultDataTypes.LONG;
- public static final String CHAR = DataTypeManager.DefaultDataTypes.CHAR;
- public static final String OBJECT = DataTypeManager.DefaultDataTypes.OBJECT;
- public static final String CLOB = DataTypeManager.DefaultDataTypes.CLOB;
- public static final String BLOB = DataTypeManager.DefaultDataTypes.BLOB;
- public static final String XML = DataTypeManager.DefaultDataTypes.XML;
- public static final String NULL = DataTypeManager.DefaultDataTypes.NULL;
-
- //java class names
- public static final String STRING_CLASS = DataTypeManager.DefaultDataClasses.STRING.getName();
- public static final String BOOLEAN_CLASS = DataTypeManager.DefaultDataClasses.BOOLEAN.getName();
- public static final String TIME_CLASS = DataTypeManager.DefaultDataClasses.TIME.getName();
- public static final String DATE_CLASS = DataTypeManager.DefaultDataClasses.DATE.getName();
- public static final String TIMESTAMP_CLASS = DataTypeManager.DefaultDataClasses.TIMESTAMP.getName();
- public static final String INTEGER_CLASS = DataTypeManager.DefaultDataClasses.INTEGER.getName();
- public static final String FLOAT_CLASS = DataTypeManager.DefaultDataClasses.FLOAT.getName();
- public static final String DOUBLE_CLASS = DataTypeManager.DefaultDataClasses.DOUBLE.getName();
- public static final String BIGDECIMAL_CLASS = DataTypeManager.DefaultDataClasses.BIG_DECIMAL.getName();
- public static final String BYTE_CLASS = DataTypeManager.DefaultDataClasses.BYTE.getName();
- public static final String SHORT_CLASS = DataTypeManager.DefaultDataClasses.SHORT.getName();
- public static final String LONG_CLASS = DataTypeManager.DefaultDataClasses.LONG.getName();
- public static final String CHAR_CLASS = DataTypeManager.DefaultDataClasses.CHAR.getName();
- public static final String BIGINTEGER_CLASS = DataTypeManager.DefaultDataClasses.BIG_INTEGER.getName();
- public static final String OBJECT_CLASS = DataTypeManager.DefaultDataClasses.OBJECT.getName();
- public static final String CLOB_CLASS = Clob.class.getName();
- public static final String BLOB_CLASS = Blob.class.getName();
- public static final String XML_CLASS = SQLXML.class.getName();
-
- private static Map<String, Integer> NAME_TO_TYPE_MAP = new HashMap<String, Integer>();
- private static Map<Integer, String> TYPE_TO_NAME_MAP = new HashMap<Integer, String>();
- private static Map<String, String> NAME_TO_CLASSNAME = new HashMap<String, String>();
- private static Map<String, String> CLASSNAME_TO_NAME = new HashMap<String, String>();
-
+
+ public static final Integer DEFAULT_RADIX = 10;
+ public static final Integer DEFAULT_SCALE = 0;
+
+ // XML column constants
+ public final static Integer XML_COLUMN_LENGTH = Integer.MAX_VALUE;
+
+ private static Map<String, TypeInfo> NAME_TO_TYPEINFO = new LinkedHashMap<String, TypeInfo>();
+ private static Map<Integer, TypeInfo> TYPE_TO_TYPEINFO = new HashMap<Integer, TypeInfo>();
+ private static Map<String, TypeInfo> CLASSNAME_TO_TYPEINFO = new HashMap<String, TypeInfo>();
+
static {
- addTypeMapping(STRING, STRING_CLASS, Types.VARCHAR, Types.CHAR, Types.NVARCHAR, Types.NCHAR);
- addTypeMapping(CHAR, CHAR_CLASS, Types.CHAR, false);
- addTypeMapping(BOOLEAN, BOOLEAN_CLASS, Types.BIT, Types.BOOLEAN);
- addTypeMapping(TIME, TIME_CLASS, Types.TIME);
- addTypeMapping(DATE, DATE_CLASS, Types.DATE);
- addTypeMapping(TIMESTAMP, TIMESTAMP_CLASS, Types.TIMESTAMP);
- addTypeMapping(INTEGER, INTEGER_CLASS, Types.INTEGER);
- addTypeMapping(FLOAT, FLOAT_CLASS, Types.REAL);
- addTypeMapping(DOUBLE, DOUBLE_CLASS, Types.DOUBLE, Types.FLOAT);
- addTypeMapping(BIGDECIMAL, BIGDECIMAL_CLASS, Types.NUMERIC, Types.DECIMAL);
- addTypeMapping(BIGINTEGER, BIGINTEGER_CLASS, Types.NUMERIC, false);
- addTypeMapping(BYTE, BYTE_CLASS, Types.TINYINT);
- addTypeMapping(SHORT, SHORT_CLASS, Types.SMALLINT);
- addTypeMapping(LONG, LONG_CLASS, Types.BIGINT);
- addTypeMapping(OBJECT, OBJECT_CLASS, Types.JAVA_OBJECT);
- addTypeMapping(CLOB, CLOB_CLASS, Types.CLOB, Types.LONGVARCHAR, Types.LONGNVARCHAR, Types.NCLOB);
- addTypeMapping(BLOB, BLOB_CLASS, Types.BLOB, Types.BINARY, Types.VARBINARY, Types.LONGVARBINARY);
-
- addTypeMapping(NULL, null, Types.NULL);
-
- addTypeMapping(XML, XML_CLASS, Types.SQLXML);
+ //note the order in which these are added matters. if there are multiple sql type mappings (e.g. biginteger and bigdecimal to numeric), the latter will be the primary
+ addType(DataTypeManager.DefaultDataTypes.BIG_INTEGER, 20, 19, DataTypeManager.DefaultDataClasses.BIG_INTEGER.getName(), Types.NUMERIC);
+ addType(new String[] {DataTypeManager.DefaultDataTypes.BIG_DECIMAL, "decimal"}, 22, 20, DataTypeManager.DefaultDataClasses.BIG_DECIMAL.getName(), Types.NUMERIC, Types.DECIMAL); //$NON-NLS-1$
+ addType(DataTypeManager.DefaultDataTypes.BLOB, Integer.MAX_VALUE, Integer.MAX_VALUE, Blob.class.getName(), Types.BLOB, Types.LONGVARBINARY);
+ addType(DataTypeManager.DefaultDataTypes.BOOLEAN, 5, 1, DataTypeManager.DefaultDataClasses.BOOLEAN.getName(), Types.BIT, Types.BOOLEAN);
+ addType(new String[] {DataTypeManager.DefaultDataTypes.BYTE, "tinyint"}, 4, 3, DataTypeManager.DefaultDataClasses.BYTE.getName(), Types.TINYINT); //$NON-NLS-1$
+ addType(DataTypeManager.DefaultDataTypes.CHAR, 1, 1, DataTypeManager.DefaultDataClasses.CHAR.getName(), Types.CHAR);
+ addType(DataTypeManager.DefaultDataTypes.CLOB, Integer.MAX_VALUE, Integer.MAX_VALUE, Clob.class.getName(), Types.CLOB, Types.NCLOB, Types.LONGNVARCHAR, Types.LONGVARCHAR);
+ addType(DataTypeManager.DefaultDataTypes.DATE, 10, 10, DataTypeManager.DefaultDataClasses.DATE.getName(), Types.DATE);
+ addType(DataTypeManager.DefaultDataTypes.DOUBLE, 22, 20, DataTypeManager.DefaultDataClasses.DOUBLE.getName(), Types.DOUBLE, Types.FLOAT);
+ addType(new String[] {DataTypeManager.DefaultDataTypes.FLOAT, "real"}, 22, 20, DataTypeManager.DefaultDataClasses.FLOAT.getName(), Types.REAL); //$NON-NLS-1$
+ addType(DataTypeManager.DefaultDataTypes.INTEGER, 11, 10, DataTypeManager.DefaultDataClasses.INTEGER.getName(), Types.INTEGER);
+ addType(new String[] {DataTypeManager.DefaultDataTypes.LONG, "bigint"}, 20, 19, DataTypeManager.DefaultDataClasses.LONG.getName(), Types.BIGINT); //$NON-NLS-1$
+ addType(DataTypeManager.DefaultDataTypes.OBJECT, Integer.MAX_VALUE, Integer.MAX_VALUE, DataTypeManager.DefaultDataClasses.OBJECT.getName(), Types.JAVA_OBJECT);
+ addType(new String[] {DataTypeManager.DefaultDataTypes.SHORT, "smallint"}, 6, 5, DataTypeManager.DefaultDataClasses.SHORT.getName(), Types.SMALLINT); //$NON-NLS-1$
+ addType(new String[] {DataTypeManager.DefaultDataTypes.STRING, "varchar"}, DataTypeManager.MAX_STRING_LENGTH, DataTypeManager.MAX_STRING_LENGTH, DataTypeManager.DefaultDataClasses.STRING.getName(), Types.VARCHAR, Types.NVARCHAR, Types.CHAR, Types.NCHAR); //$NON-NLS-1$
+ addType(DataTypeManager.DefaultDataTypes.TIME, 8, 8, DataTypeManager.DefaultDataClasses.TIME.getName(), Types.TIME);
+ addType(DataTypeManager.DefaultDataTypes.TIMESTAMP, 29, 29, DataTypeManager.DefaultDataClasses.TIMESTAMP.getName(), Types.TIMESTAMP);
+ addType(DataTypeManager.DefaultDataTypes.XML, Integer.MAX_VALUE, Integer.MAX_VALUE, SQLXML.class.getName(), Types.SQLXML);
+ addType(DataTypeManager.DefaultDataTypes.NULL, 4, 1, null, Types.NULL);
+ addType(DataTypeManager.DefaultDataTypes.VARBINARY, DataTypeManager.MAX_LOB_MEMORY_BYTES, DataTypeManager.MAX_LOB_MEMORY_BYTES, byte[].class.getName(), Types.VARBINARY, Types.BINARY);
}
-
- private static void addTypeMapping(String typeName, String javaClass, int sqlType, int ... secondaryTypes) {
- addTypeMapping(typeName, javaClass, sqlType, true);
- for (int type : secondaryTypes) {
- TYPE_TO_NAME_MAP.put(type, typeName);
+
+ private static TypeInfo addType(String typeName, int maxDisplaySize, int precision, String javaClassName, int... sqlTypes) {
+ TypeInfo ti = new TypeInfo(maxDisplaySize, precision, typeName, javaClassName, sqlTypes);
+ NAME_TO_TYPEINFO.put(typeName, ti);
+ if (javaClassName != null) {
+ CLASSNAME_TO_TYPEINFO.put(javaClassName, ti);
}
+ for (int i : sqlTypes) {
+ TYPE_TO_TYPEINFO.put(i, ti);
+ }
+ return ti;
}
-
- private static void addTypeMapping(String typeName, String javaClass, int sqlType, boolean preferedType) {
- NAME_TO_TYPE_MAP.put(typeName, sqlType);
- if (preferedType) {
- TYPE_TO_NAME_MAP.put(sqlType, typeName);
+
+ private static void addType(String[] typeNames, int maxDisplaySize, int precision, String javaClassName, int... sqlTypes) {
+ TypeInfo ti = addType(typeNames[0], maxDisplaySize, precision, javaClassName, sqlTypes);
+ for (int i = 1; i < typeNames.length; i++) {
+ NAME_TO_TYPEINFO.put(typeNames[i], ti);
}
- if (javaClass != null) {
- NAME_TO_CLASSNAME.put(typeName, javaClass);
- CLASSNAME_TO_NAME.put(javaClass, typeName);
- }
}
-
+
/**
* This method is used to obtain a short indicating JDBC SQL type for any object.
* The short values that give the type info are from java.sql.Types.
@@ -142,13 +126,13 @@
return Types.NULL;
}
- Integer sqlType = NAME_TO_TYPE_MAP.get(typeName);
+ TypeInfo sqlType = NAME_TO_TYPEINFO.get(typeName);
if (sqlType == null) {
return Types.JAVA_OBJECT;
}
- return sqlType.intValue();
+ return sqlType.jdbcTypes[0];
}
/**
@@ -163,13 +147,13 @@
return Types.NULL;
}
- String name = CLASSNAME_TO_NAME.get(className);
+ TypeInfo sqlType = CLASSNAME_TO_TYPEINFO.get(className);
- if (name == null) {
+ if (sqlType == null) {
return Types.JAVA_OBJECT;
}
- return getSQLType(name);
+ return sqlType.jdbcTypes[0];
}
/**
@@ -199,46 +183,51 @@
* @return A String representing the java class name for the given SQL Type.
*/
public static final String getJavaClassName(int jdbcSQLType) {
- String className = NAME_TO_CLASSNAME.get(getTypeName(jdbcSQLType));
+ TypeInfo typeInfo = TYPE_TO_TYPEINFO.get(jdbcSQLType);
- if (className == null) {
- return OBJECT_CLASS;
+ if (typeInfo == null) {
+ return DataTypeManager.DefaultDataClasses.OBJECT.getName();
}
- return className;
+ return typeInfo.javaClassName;
}
public static final String getTypeName(int sqlType) {
- String name = TYPE_TO_NAME_MAP.get(sqlType);
+ TypeInfo typeInfo = TYPE_TO_TYPEINFO.get(sqlType);
- if (name == null) {
- return OBJECT;
+ if (typeInfo == null) {
+ return DataTypeManager.DefaultDataTypes.OBJECT;
}
- return name;
+ return typeInfo.name;
}
- public static String[] getMMTypeNames() {
- return new String[] {
- STRING,
- BOOLEAN,
- TIME,
- DATE,
- TIMESTAMP,
- INTEGER,
- FLOAT,
- DOUBLE,
- BIGDECIMAL,
- BIGINTEGER,
- BYTE,
- SHORT,
- LONG,
- CHAR,
- OBJECT,
- CLOB,
- BLOB,
- XML
- };
+ public static Set<String> getMMTypeNames() {
+ return NAME_TO_TYPEINFO.keySet();
}
+ public static Integer getMaxDisplaySize(Class<?> dataTypeClass) {
+ return getMaxDisplaySize(DataTypeManager.getDataTypeName(dataTypeClass));
+ }
+
+ public static Integer getMaxDisplaySize(String typeName) {
+ TypeInfo ti = NAME_TO_TYPEINFO.get(typeName);
+ if (ti == null) {
+ return null;
+ }
+ return ti.maxDisplaySize;
+ }
+
+ public static Integer getDefaultPrecision(Class<?> dataTypeClass) {
+ return getDefaultPrecision(DataTypeManager.getDataTypeName(dataTypeClass));
+ }
+
+ public static Integer getDefaultPrecision(String typeName) {
+ TypeInfo ti = NAME_TO_TYPEINFO.get(typeName);
+ if (ti == null) {
+ return null;
+ }
+ return ti.defaultPrecision;
+ }
+
}
Added: trunk/common-core/src/main/java/org/teiid/core/types/basic/BinaryToBlobTransform.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/basic/BinaryToBlobTransform.java (rev 0)
+++ trunk/common-core/src/main/java/org/teiid/core/types/basic/BinaryToBlobTransform.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -0,0 +1,61 @@
+/*
+ * 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.core.types.basic;
+
+import org.teiid.core.types.BinaryType;
+import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.Transform;
+import org.teiid.core.types.TransformationException;
+
+public class BinaryToBlobTransform extends Transform {
+
+ /**
+ * This method transforms a value of the source type into a value
+ * of the target type.
+ * @param value Incoming value of source type
+ * @return Outgoing value of target type
+ * @throws TransformationException if value is an incorrect input type or
+ * the transformation fails
+ */
+ public Object transformDirect(Object value) throws TransformationException {
+ BinaryType contents = (BinaryType)value;
+ return contents.toBlob();
+ }
+
+ /**
+ * Type of the incoming value.
+ * @return Source type
+ */
+ public Class<?> getSourceType() {
+ return DataTypeManager.DefaultDataClasses.VARBINARY;
+ }
+
+ /**
+ * Type of the outgoing value.
+ * @return Target type
+ */
+ public Class<?> getTargetType() {
+ return DataTypeManager.DefaultDataClasses.BLOB;
+ }
+
+}
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/basic/BinaryToBlobTransform.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/common-core/src/main/java/org/teiid/core/types/basic/BlobToBinaryTransform.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/basic/BlobToBinaryTransform.java (rev 0)
+++ trunk/common-core/src/main/java/org/teiid/core/types/basic/BlobToBinaryTransform.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -0,0 +1,76 @@
+/*
+ * 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.core.types.basic;
+
+import java.io.IOException;
+import java.sql.SQLException;
+
+import org.teiid.core.CorePlugin;
+import org.teiid.core.types.BinaryType;
+import org.teiid.core.types.BlobType;
+import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.Transform;
+import org.teiid.core.types.TransformationException;
+import org.teiid.core.util.ObjectConverterUtil;
+
+
+public class BlobToBinaryTransform extends Transform {
+
+ /**
+ * This method transforms a value of the source type into a value
+ * of the target type.
+ * @param value Incoming value of source type
+ * @return Outgoing value of target type
+ * @throws TransformationException if value is an incorrect input type or
+ * the transformation fails
+ */
+ public Object transformDirect(Object value) throws TransformationException {
+ BlobType source = (BlobType)value;
+
+ try {
+ byte[] bytes = ObjectConverterUtil.convertToByteArray(source.getBinaryStream(), DataTypeManager.MAX_LOB_MEMORY_BYTES, true);
+ return new BinaryType(bytes);
+ } catch (SQLException e) {
+ throw new TransformationException(e, CorePlugin.Util.getString("failed_convert", new Object[] {getSourceType().getName(), getTargetType().getName()})); //$NON-NLS-1$
+ } catch(IOException e) {
+ throw new TransformationException(e, CorePlugin.Util.getString("failed_convert", new Object[] {getSourceType().getName(), getTargetType().getName()})); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * @see org.teiid.core.types.Transform#isExplicit()
+ */
+ public boolean isExplicit() {
+ return true;
+ }
+
+ @Override
+ public Class<?> getSourceType() {
+ return DataTypeManager.DefaultDataClasses.BLOB;
+ }
+
+ @Override
+ public Class<?> getTargetType() {
+ return DataTypeManager.DefaultDataClasses.VARBINARY;
+ }
+}
Property changes on: trunk/common-core/src/main/java/org/teiid/core/types/basic/BlobToBinaryTransform.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/common-core/src/main/java/org/teiid/core/types/basic/ClobToStringTransform.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/basic/ClobToStringTransform.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/common-core/src/main/java/org/teiid/core/types/basic/ClobToStringTransform.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -49,9 +49,9 @@
*/
public Object transformDirect(Object value) throws TransformationException {
ClobType source = (ClobType)value;
-
+ BufferedReader reader = null;
try {
- BufferedReader reader = new BufferedReader (source.getCharacterStream());
+ reader = new BufferedReader (source.getCharacterStream());
StringBuffer contents = new StringBuffer();
int chr = reader.read();
@@ -59,14 +59,19 @@
contents.append((char)chr);
chr = reader.read();
}
- reader.close();
return contents.toString();
-
} catch (SQLException e) {
throw new TransformationException(e, CorePlugin.Util.getString("failed_convert", new Object[] {getSourceType().getName(), getTargetType().getName()})); //$NON-NLS-1$
} catch(IOException e) {
throw new TransformationException(e, CorePlugin.Util.getString("failed_convert", new Object[] {getSourceType().getName(), getTargetType().getName()})); //$NON-NLS-1$
- }
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
}
/**
Modified: trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/common-core/src/main/java/org/teiid/core/util/PropertiesUtils.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -61,87 +61,6 @@
}
/**
- * Returns a list of property names matching the given pattern. A '*' may be
- * given to match the pattern exactly up to the '*', then anything after.
- * Note: Should also implement matching with '?' which means match any single
- * char.
- * @param pattern The property name to match which may include a '*'.
- * @param props The properties to search.
- * @return The List of property names matching given pattern - may be empty
- * but never null.
- */
- public static List filter( String pattern, Properties props ) {
- boolean addAll = false;
- String searchStr = null;
- List propNames = new ArrayList();
- int globIndex = pattern.indexOf('*');
- if ( globIndex == -1 ) {
- searchStr = pattern;
- } else if ( globIndex == 0 ) {
- addAll = true;
- } else {
- searchStr = pattern.substring(0, globIndex);
- }
-
- Enumeration propNameEnum = props.propertyNames();
- while ( propNameEnum.hasMoreElements() ) {
- String name = (String) propNameEnum.nextElement();
- if ( name.startsWith(searchStr) || addAll ) {
- propNames.add(name);
- }
- }
-
- return propNames;
- }
-
-
- /**
- * Obtains from this source the list of all properties that match the pattern specified by the filter.
- * <p>
- * The filter is a string that may contain the '*' character as a wildcard one or more times
- * in the string. For example, the following filter:
- * <p>
- * <pre> *metamatrix.*</pre>
- * <p>
- * finds all properties that contain somewhere in the property name the string "metamatrix.".
- * @param filterPattern the string filter pattern that will be used to narrow the set of properties returned.
- * @param props The properties to search.
- * @return the enumeration of all of the property names of the primary source;
- * the enumeration may be empty if there is an error connecting to the property sources.
- */
- public static Properties getProperties(String filterPattern, Properties props) {
- Properties results = new Properties();
-
- boolean addAll = false;
- String searchStr = null;
- int globIndex = filterPattern.indexOf('*');
- if ( globIndex == -1 ) {
- searchStr = filterPattern;
- } else if ( globIndex == 0 ) {
- addAll = true;
- } else {
- searchStr = filterPattern.substring(0, globIndex);
- }
-
- Enumeration propNameEnum = props.propertyNames();
- while ( propNameEnum.hasMoreElements() ) {
- String name = (String) propNameEnum.nextElement();
- if ( name.startsWith(searchStr)) {
- Object value = props.get(name);
- if (value != null) {
- results.put(name.substring(searchStr.length()), value);
- }
- }
- else if (addAll) {
- results.put(name, props.get(name));
- }
- }
-
- return results;
- }
-
-
- /**
* Performs a correct deep clone of the properties object by capturing
* all properties in the default(s) and placing them directly into the
* new Properties object. If the input is an instance of
Modified: trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java
===================================================================
--- trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/common-core/src/test/java/org/teiid/core/types/TestDataTypeManager.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -159,15 +159,13 @@
@Test public void testJDBCSQLTypeInfo() {
- String[] types = JDBCSQLTypeInfo.getMMTypeNames();
+ Set<String> types = JDBCSQLTypeInfo.getMMTypeNames();
- for (int i = 0; i < types.length; i++) {
- String type = types[i];
-
+ for (String type : types) {
assertEquals("Didn't get match for "+ type, JDBCSQLTypeInfo.getSQLType(type), JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.getDataTypeClass(type))); //$NON-NLS-1$
//the classnames will not match the runtime types for xml, clob, blob
- if (!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.XML) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.CLOB) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.BLOB)) {
+ if (!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.NULL) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.VARBINARY) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.XML) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.CLOB) && !type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.BLOB)) {
assertEquals("Didn't get match for "+ type, JDBCSQLTypeInfo.getSQLType(type), JDBCSQLTypeInfo.getSQLTypeFromClass(DataTypeManager.getDataTypeClass(type).getName())); //$NON-NLS-1$
}
}
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -46,6 +46,7 @@
import javax.sql.DataSource;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.util.PropertiesUtils;
import org.teiid.language.*;
import org.teiid.language.Argument.Direction;
@@ -818,7 +819,9 @@
param = new Double(((Float)param).doubleValue());
} else if (TypeFacility.RUNTIME_TYPES.CHAR.equals(paramType)) {
param = ((Character)param).toString();
- }
+ } else if (paramType.equals(TypeFacility.RUNTIME_TYPES.VARBINARY)) {
+ param = ((BinaryType)param).getBytesDirect();
+ }
stmt.setObject(i, param, type);
}
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/impl/SizeUtility.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/impl/SizeUtility.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/impl/SizeUtility.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -31,6 +31,7 @@
import java.util.Map;
import java.util.Set;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
@@ -48,6 +49,7 @@
private static Set<Class<?>> VARIABLE_SIZE_TYPES = new HashSet<Class<?>>();
static {
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.STRING, new int[] {100, 256});
+ SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.VARBINARY, new int[] {100, 256});
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.DATE, new int[] {20, 28});
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.TIME, new int[] {20, 28});
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.TIMESTAMP, new int[] {20, 28});
@@ -64,6 +66,7 @@
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.BIG_INTEGER, new int[] {75, 100});
SIZE_ESTIMATES.put(DataTypeManager.DefaultDataClasses.BIG_DECIMAL, new int[] {150, 200});
VARIABLE_SIZE_TYPES.add(DataTypeManager.DefaultDataClasses.STRING);
+ VARIABLE_SIZE_TYPES.add(DataTypeManager.DefaultDataClasses.VARBINARY);
VARIABLE_SIZE_TYPES.add(DataTypeManager.DefaultDataClasses.OBJECT);
VARIABLE_SIZE_TYPES.add(DataTypeManager.DefaultDataClasses.BIG_INTEGER);
VARIABLE_SIZE_TYPES.add(DataTypeManager.DefaultDataClasses.BIG_DECIMAL);
@@ -130,6 +133,12 @@
return alignMemory(40 + (2 * length));
}
return 40;
+ } else if(type == DataTypeManager.DefaultDataClasses.VARBINARY) {
+ int length = ((BinaryType)obj).getLength();
+ if (length > 0) {
+ return alignMemory(16 + length);
+ }
+ return 16;
} else if(type == DataTypeManager.DefaultDataClasses.BIG_DECIMAL) {
if (!updateEstimate) {
return bigDecimalEstimate;
Modified: trunk/engine/src/main/java/org/teiid/core/id/UUID.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/core/id/UUID.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/core/id/UUID.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -167,5 +167,9 @@
}
return this.cachedExportableFormUuidString;
}
+
+ public static void main(String[] args) {
+ System.out.println(new UUID(java.util.UUID.randomUUID()));
+ }
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -51,19 +51,26 @@
private static final long serialVersionUID = -6389893410233192977L;
public enum Version {
- SEVEN_1("7.1"), //$NON-NLS-1$
- SEVEN_2("7.2"), //$NON-NLS-1$
- SEVEN_3("7.3"), //$NON-NLS-1$
- SEVEN_4("7.4"), //$NON-NLS-1$
- SEVEN_5("7.5"), //$NON-NLS-1$
- SEVEN_6("7.6"); //$NON-NLS-1$
+ SEVEN_1("7.1", (byte)0), //$NON-NLS-1$
+ SEVEN_2("7.2", (byte)0), //$NON-NLS-1$
+ SEVEN_3("7.3", (byte)0), //$NON-NLS-1$
+ SEVEN_4("7.4", (byte)0), //$NON-NLS-1$
+ SEVEN_5("7.5", (byte)0), //$NON-NLS-1$
+ SEVEN_6("7.6", (byte)0), //$NON-NLS-1$
+ EIGHT_0("8.0", (byte)1); //$NON-NLS-1$
private String string;
+ private byte clientSerializationVersion;
- private Version(String string) {
+ private Version(String string, byte clientSerializationVersion) {
this.string = string;
+ this.clientSerializationVersion = clientSerializationVersion;
}
+ public byte getClientSerializationVersion() {
+ return clientSerializationVersion;
+ }
+
@Override
public String toString() {
return string;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -34,10 +34,10 @@
import org.teiid.api.exception.query.QueryResolverException;
import org.teiid.client.metadata.MetadataResult;
import org.teiid.client.metadata.ResultsMetadataConstants;
-import org.teiid.client.metadata.ResultsMetadataDefaults;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.JDBCSQLTypeInfo;
import org.teiid.core.types.XMLType;
import org.teiid.dqp.internal.process.DQPCore.ClientState;
import org.teiid.dqp.internal.process.DQPWorkContext.Version;
@@ -76,6 +76,8 @@
*/
public class MetaDataProcessor {
+ public final static String XML_COLUMN_NAME = "xml"; //$NON-NLS-1$
+
// Resources
private DQPCore requestManager;
private QueryMetadataInterface metadata;
@@ -248,10 +250,10 @@
private Map createXMLColumnMetadata(Query xmlCommand) {
GroupSymbol doc = xmlCommand.getFrom().getGroups().get(0);
- Map xmlMetadata = getDefaultColumn(doc.getName(), ResultsMetadataDefaults.XML_COLUMN_NAME, XMLType.class);
+ Map xmlMetadata = getDefaultColumn(doc.getName(), XML_COLUMN_NAME, XMLType.class);
// Override size as XML may be big
- xmlMetadata.put(ResultsMetadataConstants.DISPLAY_SIZE, ResultsMetadataDefaults.XML_COLUMN_LENGTH);
+ xmlMetadata.put(ResultsMetadataConstants.DISPLAY_SIZE, JDBCSQLTypeInfo.XML_COLUMN_LENGTH);
return xmlMetadata;
}
@@ -364,7 +366,7 @@
return precision;
}
}
- return ResultsMetadataDefaults.getDefaultPrecision(dataType).intValue();
+ return JDBCSQLTypeInfo.getDefaultPrecision(dataType).intValue();
}
/**
@@ -416,7 +418,7 @@
}
}
// else BOOLEAN, DATE, TIME, TIMESTAMP, CHARACTER use max
- return ResultsMetadataDefaults.getMaxDisplaySize(dataType);
+ return JDBCSQLTypeInfo.getMaxDisplaySize(dataType);
}
public Map<Integer, Object> getDefaultColumn(String tableName, String columnName,
@@ -441,12 +443,12 @@
column.put(ResultsMetadataConstants.WRITABLE, Boolean.TRUE);
column.put(ResultsMetadataConstants.CURRENCY, Boolean.FALSE);
column.put(ResultsMetadataConstants.DATA_TYPE, DataTypeManager.getDataTypeName(javaType));
- column.put(ResultsMetadataConstants.RADIX, ResultsMetadataDefaults.DEFAULT_RADIX);
- column.put(ResultsMetadataConstants.SCALE, ResultsMetadataDefaults.DEFAULT_SCALE);
+ column.put(ResultsMetadataConstants.RADIX, JDBCSQLTypeInfo.DEFAULT_RADIX);
+ column.put(ResultsMetadataConstants.SCALE, JDBCSQLTypeInfo.DEFAULT_SCALE);
column.put(ResultsMetadataConstants.SIGNED, Boolean.TRUE);
- column.put(ResultsMetadataConstants.PRECISION, ResultsMetadataDefaults.getDefaultPrecision(javaType));
- column.put(ResultsMetadataConstants.DISPLAY_SIZE, ResultsMetadataDefaults.getMaxDisplaySize(javaType));
+ column.put(ResultsMetadataConstants.PRECISION, JDBCSQLTypeInfo.getDefaultPrecision(javaType));
+ column.put(ResultsMetadataConstants.DISPLAY_SIZE, JDBCSQLTypeInfo.getMaxDisplaySize(javaType));
return column;
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -52,7 +52,6 @@
import org.teiid.core.types.DataTypeManager;
import org.teiid.dqp.internal.process.DQPCore.CompletionListener;
import org.teiid.dqp.internal.process.DQPCore.FutureWork;
-import org.teiid.dqp.internal.process.DQPWorkContext.Version;
import org.teiid.dqp.internal.process.SessionAwareCache.CacheID;
import org.teiid.dqp.internal.process.ThreadReuseExecutor.PrioritizedRunnable;
import org.teiid.dqp.message.AtomicRequestID;
@@ -714,7 +713,7 @@
dataTypes[i] = DataTypeManager.getDataTypeName(symbol.getType());
}
ResultsMessage result = new ResultsMessage(batch, columnNames, dataTypes);
- result.setClientSerializationVersion((byte)(this.dqpWorkContext.getClientVersion().compareTo(Version.SEVEN_6) >= 0?1:0));
+ result.setClientSerializationVersion(this.dqpWorkContext.getClientVersion().getClientSerializationVersion());
setAnalysisRecords(result);
return result;
}
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -29,6 +29,7 @@
import org.teiid.api.exception.query.FunctionExecutionException;
import org.teiid.core.TeiidRuntimeException;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.types.TransformationException;
import org.teiid.core.util.PropertiesUtils;
@@ -53,6 +54,7 @@
private FunctionMethod method;
private String schema; //TODO: remove me - we need to create a proper schema for udf and system functions
private Object metadataID;
+ private boolean hasWrappedArgs;
// This is transient as it would be useless to invoke this method in
// a different VM. This function descriptor can be used to look up
@@ -72,6 +74,10 @@
this.method = method;
}
+ public void setHasWrappedArgs(boolean hasWrappedArgs) {
+ this.hasWrappedArgs = hasWrappedArgs;
+ }
+
public String getSchema() {
return schema;
}
@@ -180,20 +186,27 @@
// If descriptor is missing invokable method, find this VM's descriptor
// give name and types from fd
- Method method = getInvocationMethod();
- if(method == null) {
+ if(invocationMethod == null) {
throw new FunctionExecutionException("ERR.015.001.0002", QueryPlugin.Util.getString("ERR.015.001.0002", getName())); //$NON-NLS-1$ //$NON-NLS-2$
}
// Invoke the method and return the result
try {
+ if (hasWrappedArgs) {
+ for (int i = 0; i < values.length; i++) {
+ Object val = values[i];
+ if (val != null && types[i] == DataTypeManager.DefaultDataClasses.VARBINARY) {
+ values[i] = ((BinaryType)val).getBytesDirect();
+ }
+ }
+ }
if (method.isVarArgs()) {
- int i = method.getParameterTypes().length;
+ int i = invocationMethod.getParameterTypes().length;
Object[] newValues = Arrays.copyOf(values, i);
newValues[i - 1] = Arrays.copyOfRange(values, i - 1, values.length);
values = newValues;
}
- Object result = method.invoke(null, values);
+ Object result = invocationMethod.invoke(null, values);
return importValue(result, getReturnType());
} catch(ArithmeticException e) {
throw new FunctionExecutionException(e, "ERR.015.001.0003", QueryPlugin.Util.getString("ERR.015.001.0003", getName())); //$NON-NLS-1$ //$NON-NLS-2$
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionTree.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -26,10 +26,10 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -94,7 +94,7 @@
public FunctionTree(String name, FunctionMetadataSource source, boolean validateClass, ClassLoader defaultClassloader) {
// Load data structures
this.validateClass = validateClass;
-
+ boolean system = CoreConstants.SYSTEM_MODEL.equalsIgnoreCase(name) || CoreConstants.SYSTEM_ADMIN_MODEL.equalsIgnoreCase(name);
Collection<FunctionMethod> functions = source.getFunctionMethods();
for (FunctionMethod method : functions) {
if (!containsIndistinguishableFunction(method)){
@@ -102,7 +102,7 @@
method.setClassloader(defaultClassloader);
}
// Add to tree
- addFunction(name, source, method);
+ addFunction(name, source, method, system);
} else if (!CoreConstants.SYSTEM_MODEL.equalsIgnoreCase(name)) {
LogManager.logWarning(LogConstants.CTX_FUNCTION_TREE, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30011, new Object[]{method}));
}
@@ -196,7 +196,7 @@
* @param source The function metadata source, which knows how to obtain the invocation class
* @param method The function metadata for a particular method signature
*/
- public FunctionDescriptor addFunction(String schema, FunctionMetadataSource source, FunctionMethod method) {
+ public FunctionDescriptor addFunction(String schema, FunctionMetadataSource source, FunctionMethod method, boolean system) {
String categoryKey = method.getCategory();
if (categoryKey == null) {
method.setCategory(FunctionCategoryConstants.MISCELLANEOUS);
@@ -216,20 +216,19 @@
// Get input types for path
List<FunctionParameter> inputParams = method.getInputParameters();
- List<Class<?>> inputTypes = new LinkedList<Class<?>>();
+ Class<?>[] types = null;
if(inputParams != null) {
+ types = new Class<?>[inputParams.size()];
for(int i=0; i<inputParams.size(); i++) {
String typeName = inputParams.get(i).getType();
- inputTypes.add(DataTypeManager.getDataTypeClass(typeName));
+ Class<?> clazz = DataTypeManager.getDataTypeClass(typeName);
+ types[i] = clazz;
}
+ } else {
+ types = new Class<?>[0];
}
- Class<?>[] types = inputTypes.toArray(new Class[inputTypes.size()]);
- if (method.isVarArgs()) {
- inputTypes.set(inputTypes.size() - 1, Array.newInstance(inputTypes.get(inputTypes.size() - 1), 0).getClass());
- }
-
- FunctionDescriptor descriptor = createFunctionDescriptor(source, method, inputTypes, types);
+ FunctionDescriptor descriptor = createFunctionDescriptor(source, method, types, system);
descriptor.setSchema(schema);
// Store this path in the function tree
@@ -282,13 +281,26 @@
private FunctionDescriptor createFunctionDescriptor(
FunctionMetadataSource source, FunctionMethod method,
- List<Class<?>> inputTypes, Class<?>[] types) {
+ Class<?>[] types, boolean system) {
// Get return type
FunctionParameter outputParam = method.getOutputParameter();
Class<?> outputType = null;
if(outputParam != null) {
outputType = DataTypeManager.getDataTypeClass(outputParam.getType());
}
+ List<Class<?>> inputTypes = new ArrayList<Class<?>>(Arrays.asList(types));
+ boolean hasWrappedArg = false;
+ if (!system) {
+ for (int i = 0; i < types.length; i++) {
+ if (types[i] == DataTypeManager.DefaultDataClasses.VARBINARY) {
+ hasWrappedArg = true;
+ inputTypes.set(i, byte[].class);
+ }
+ }
+ }
+ if (method.isVarArgs()) {
+ inputTypes.set(inputTypes.size() - 1, Array.newInstance(inputTypes.get(inputTypes.size() - 1), 0).getClass());
+ }
Method invocationMethod = null;
boolean requiresContext = false;
@@ -329,11 +341,11 @@
throw new TeiidRuntimeException("ERR.015.001.0047", QueryPlugin.Util.getString("FunctionTree.not_static", method.getName(), invocationMethod)); //$NON-NLS-1$ //$NON-NLS-2$
}
}
- } else {
- inputTypes.add(0, CommandContext.class);
}
- return new FunctionDescriptor(method, types, outputType, invocationMethod, requiresContext);
+ FunctionDescriptor result = new FunctionDescriptor(method, types, outputType, invocationMethod, requiresContext);
+ result.setHasWrappedArgs(hasWrappedArg);
+ return result;
}
/**
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -186,21 +186,6 @@
return actualMetadata.getMinimumValue(elementID);
}
- public String getModeledBaseType(Object elementID)
- throws TeiidComponentException, QueryMetadataException {
- return actualMetadata.getModeledBaseType(elementID);
- }
-
- public String getModeledPrimitiveType(Object elementID)
- throws TeiidComponentException, QueryMetadataException {
- return actualMetadata.getModeledPrimitiveType(elementID);
- }
-
- public String getModeledType(Object elementID)
- throws TeiidComponentException, QueryMetadataException {
- return actualMetadata.getModeledType(elementID);
- }
-
public Object getModelID(Object groupOrElementID)
throws TeiidComponentException, QueryMetadataException {
return actualMetadata.getModelID(groupOrElementID);
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -562,42 +562,6 @@
throws TeiidComponentException, QueryMetadataException;
/**
- * Get the design-time model type of the element specified. This element
- * identifier was previously returned by some other method.
- * @param elementID Element identifier
- * @return Modeled type name
- * @throws QueryMetadataException Metadata implementation detected a problem during the request
- * @throws TeiidComponentException Unexpected internal system problem during request
- * @since 5.0
- */
- String getModeledType(Object elementID)
- throws TeiidComponentException, QueryMetadataException;
-
- /**
- * Get the design-time model base type of the element specified. This element
- * identifier was previously returned by some other method.
- * @param elementID Element identifier
- * @return Modeled base type name
- * @throws QueryMetadataException Metadata implementation detected a problem during the request
- * @throws TeiidComponentException Unexpected internal system problem during request
- * @since 5.0
- */
- String getModeledBaseType(Object elementID)
- throws TeiidComponentException, QueryMetadataException;
-
- /**
- * Get the design-time model primitive type of the element specified. This element
- * identifier was previously returned by some other method.
- * @param elementID Element identifier
- * @return Modeled primitive type name
- * @throws QueryMetadataException Metadata implementation detected a problem during the request
- * @throws TeiidComponentException Unexpected internal system problem during request
- * @since 5.0
- */
- String getModeledPrimitiveType(Object elementID)
- throws TeiidComponentException, QueryMetadataException;
-
- /**
* Determine whether this is a procedure
* @param groupID Group identifier
* @return True if it is an procedure; false otherwise
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -664,60 +664,6 @@
return actualMetadata.isProcedure(elementID);
}
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledType(Object elementID) throws TeiidComponentException,
- QueryMetadataException {
-
- if (elementID instanceof TempMetadataID) {
- TempMetadataID id = (TempMetadataID)elementID;
- elementID = id.getOriginalMetadataID();
- if (elementID == null) {
- return null;
- }
- }
-
- return actualMetadata.getModeledType(elementID);
- }
-
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledBaseType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledBaseType(Object elementID) throws TeiidComponentException,
- QueryMetadataException {
-
- if (elementID instanceof TempMetadataID) {
- TempMetadataID id = (TempMetadataID)elementID;
- elementID = id.getOriginalMetadataID();
- if (elementID == null) {
- return null;
- }
- }
-
- return actualMetadata.getModeledBaseType(elementID);
- }
-
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledPrimitiveType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledPrimitiveType(Object elementID) throws TeiidComponentException,
- QueryMetadataException {
-
- if (elementID instanceof TempMetadataID) {
- TempMetadataID id = (TempMetadataID)elementID;
- elementID = id.getOriginalMetadataID();
- if (elementID == null) {
- return null;
- }
- }
-
- return actualMetadata.getModeledPrimitiveType(elementID);
- }
-
public boolean isTemporaryTable(Object groupID) throws TeiidComponentException, QueryMetadataException {
if(groupID instanceof TempMetadataID) {
return ((TempMetadataID)groupID).isTempTable();
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -49,7 +49,15 @@
import org.teiid.core.util.LRUCache;
import org.teiid.core.util.ObjectConverterUtil;
import org.teiid.core.util.StringUtil;
-import org.teiid.metadata.*;
+import org.teiid.metadata.AbstractMetadataRecord;
+import org.teiid.metadata.Column;
+import org.teiid.metadata.ColumnSet;
+import org.teiid.metadata.ForeignKey;
+import org.teiid.metadata.KeyRecord;
+import org.teiid.metadata.Procedure;
+import org.teiid.metadata.ProcedureParameter;
+import org.teiid.metadata.Schema;
+import org.teiid.metadata.Table;
import org.teiid.metadata.BaseColumn.NullType;
import org.teiid.metadata.Column.SearchType;
import org.teiid.metadata.ProcedureParameter.Type;
@@ -1022,52 +1030,6 @@
return paths.toArray(new String[paths.size()]);
}
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledType(final Object elementID) throws TeiidComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getDatatypeID();
- }
- return null;
- }
-
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledBaseType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledBaseType(final Object elementID) throws TeiidComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getBasetypeID();
- }
- return null;
- }
-
- /**
- * @see org.teiid.query.metadata.QueryMetadataInterface#getModeledPrimitiveType(java.lang.Object)
- * @since 5.0
- */
- public String getModeledPrimitiveType(final Object elementID) throws TeiidComponentException, QueryMetadataException {
- Datatype record = getDatatypeRecord(elementID);
- if (record != null) {
- return record.getPrimitiveTypeID();
- }
- return null;
- }
-
- private Datatype getDatatypeRecord(final Object elementID) {
- if (elementID instanceof Column) {
- return ((Column)elementID).getDatatype();
- } else if (elementID instanceof ProcedureParameter) {
- return ((ProcedureParameter)elementID).getDatatype();
- } else {
- throw createInvalidRecordTypeException(elementID);
- }
- }
-
@Override
public Object addToMetadataCache(Object metadataID, String key, Object value) {
ArgCheck.isInstanceOf(AbstractMetadataRecord.class, metadataID);
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/DependentCriteriaProcessor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -103,7 +103,7 @@
int distinctCount = 0;
while (vi.hasNext()) {
Comparable next = (Comparable) vi.next();
- if (last == null || next.compareTo(last) != 0) {
+ if (last == null || Constant.compare(next, last) != 0) {
distinctCount++;
}
last = next;
Modified: trunk/engine/src/main/java/org/teiid/query/sql/symbol/Constant.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/symbol/Constant.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/sql/symbol/Constant.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -180,7 +180,7 @@
* @return Hash code, based on value
*/
public int hashCode() {
- if(this.value != null) {
+ if(this.value != null && !isMultiValued()) {
if (this.value instanceof BigDecimal) {
BigDecimal bd = (BigDecimal)this.value;
int xsign = bd.signum();
@@ -235,11 +235,12 @@
*/
public final static int compare(Comparable o1, Comparable o2) {
if (DataTypeManager.PAD_SPACE) {
- if (o1 instanceof String) {
+ Class<?> clazz = o1.getClass();
+ if (clazz == String.class) {
CharSequence s1 = (CharSequence)o1;
CharSequence s2 = (CharSequence)o2;
return comparePadded(s1, s2);
- } else if (o1 instanceof ClobType) {
+ } else if (clazz == ClobType.class) {
CharSequence s1 = ((ClobType)o1).getCharSequence();
CharSequence s2 = ((ClobType)o2).getCharSequence();
return comparePadded(s1, s2);
@@ -258,13 +259,10 @@
char c1 = s1.charAt(i);
char c2 = s2.charAt(i);
if (c1 != c2) {
- result = c1 - c2;
- break;
+ return c1 - c2;
}
}
- if (result == 0 && len1 != len2) {
- result = len1 - len2;
- }
+ result = len1 - len2;
for (int j = i; j < len1; j++) {
if (s1.charAt(j) != ' ') {
return result;
Modified: trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1152,6 +1152,8 @@
constantParts = new String[] {"{t'", obj.getValue().toString(), "'}"}; //$NON-NLS-1$ //$NON-NLS-2$
} else if (type.equals(DataTypeManager.DefaultDataClasses.DATE)) {
constantParts = new String[] {"{d'", obj.getValue().toString(), "'}"}; //$NON-NLS-1$ //$NON-NLS-2$
+ } else if (type.equals(DataTypeManager.DefaultDataClasses.VARBINARY)) {
+ constantParts = new String[] {"X'", obj.getValue().toString(), "'"}; //$NON-NLS-1$ //$NON-NLS-2$
}
if (constantParts == null) {
String strValue = obj.getValue().toString();
Modified: trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
===================================================================
--- trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2012-01-23 18:52:20 UTC (rev 3813)
@@ -77,6 +77,7 @@
TOKEN: /* Data types */
{
<STRING: "string">
+| <VARBINARY: "varbinary">
| <VARCHAR: "varchar">
| <BOOLEAN: "boolean">
| <BYTE: "byte">
@@ -398,7 +399,8 @@
| < STRINGVAL: (("N"|"E")? "'" ( ("''") | ~["'"] )* "'") >
| < #LETTER: (["a"-"z","A"-"Z"] | ["\u0153"-"\ufffd"]) >
| < #DIGIT: ["0"-"9"] >
-
+| < BINARYSTRINGVAL: ("X"|"x" "'" ( <HEXIT><HEXIT> )+ "'") >
+| < #HEXIT: (["a"-"f","A"-"F"] | <DIGIT> ) >
}
TOKEN : /* Punctuation */
@@ -3916,6 +3918,7 @@
typeToken = <OBJECT> |
typeToken = <BLOB> |
typeToken = <CLOB> |
+ typeToken = <VARBINARY> |
typeToken = <XML>
)
@@ -4013,6 +4016,7 @@
throw new ParseException(QueryPlugin.Util.getString("SQLParser.decimal_parse", params)); //$NON-NLS-1$
}
} |
+ t=<BINARYSTRINGVAL> { constant = new Constant(new BinaryType(javax.xml.bind.DatatypeConverter.parseHexBinary(t.image.substring(2, t.image.length() - 1))), DataTypeManager.DefaultDataClasses.VARBINARY); } |
t=<FALSE> { constant = new Constant(Boolean.FALSE, DataTypeManager.DefaultDataClasses.BOOLEAN); } |
t=<TRUE> { constant = new Constant(Boolean.TRUE, DataTypeManager.DefaultDataClasses.BOOLEAN); } |
t=<UNKNOWN> { constant = new Constant(null, DataTypeManager.DefaultDataClasses.BOOLEAN); } |
Modified: trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestSizeUtility.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestSizeUtility.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestSizeUtility.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -34,6 +34,7 @@
import java.util.List;
import org.junit.Test;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
public class TestSizeUtility {
@@ -144,7 +145,7 @@
@Test public void testGetSizeByteArray() {
byte[] bytes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- helpTestGetSize(bytes, 32);
+ helpTestGetSize(new BinaryType(bytes), 32);
}
@Test public void testResultSet() {
Modified: trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/test/java/org/teiid/query/function/TestFunctionTree.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -22,9 +22,7 @@
package org.teiid.query.function;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
@@ -32,11 +30,12 @@
import org.junit.Test;
import org.mockito.Mockito;
import org.teiid.core.TeiidRuntimeException;
+import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManager;
import org.teiid.metadata.FunctionMethod;
import org.teiid.metadata.FunctionParameter;
+import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.metadata.FunctionMethod.PushDown;
-import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.query.function.metadata.FunctionCategoryConstants;
import org.teiid.query.function.source.SystemSource;
import org.teiid.query.unittest.RealMetadataFactory;
@@ -71,6 +70,10 @@
return null;
}
+ public static String toString(byte[] bytes) {
+ return new String(bytes);
+ }
+
@Test public void testLoadErrors() {
FunctionMethod method = new FunctionMethod(
"dummy", null, null, PushDown.CAN_PUSHDOWN, "nonexistentClass", "noMethod", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -147,6 +150,19 @@
FunctionTree ft = new FunctionTree("foo", fms);
assertEquals(1, ft.getFunctionForms(FunctionCategoryConstants.MISCELLANEOUS).size());
}
+
+ @Test public void testVarbinary() throws Exception {
+ FunctionMethod method = new FunctionMethod(
+ "dummy", null, null, PushDown.CANNOT_PUSHDOWN, TestFunctionTree.class.getName(), "toString", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new FunctionParameter[] {new FunctionParameter("in", DataTypeManager.DefaultDataTypes.VARBINARY)}, //$NON-NLS-1$
+ new FunctionParameter("output", DataTypeManager.DefaultDataTypes.STRING), //$NON-NLS-1$
+ false, Determinism.DETERMINISTIC);
+ FunctionTree sys = RealMetadataFactory.SFM.getSystemFunctions();
+ FunctionLibrary fl = new FunctionLibrary(sys, new FunctionTree("foo", new UDFSource(Arrays.asList(method)), true));
+ FunctionDescriptor fd = fl.findFunction("dummy", new Class<?>[] {DataTypeManager.DefaultDataClasses.VARBINARY});
+ String hello = "hello";
+ assertEquals(hello, fd.invokeFunction(new Object[] {new BinaryType(hello.getBytes())}));
+ }
/*
Modified: trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/test/java/org/teiid/query/parser/TestParser.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -5205,7 +5205,13 @@
@Test public void testExactFixedPoint() throws QueryParserException {
Query actualCommand = (Query)QueryParser.getQueryParser().parseCommand("SELECT 1.1", new ParseInfo());
- assertEquals(DataTypeManager.DefaultDataClasses.BIG_DECIMAL, ((Expression)actualCommand.getSelect().getSymbol(0)).getType());
+ assertEquals(DataTypeManager.DefaultDataClasses.BIG_DECIMAL, actualCommand.getSelect().getSymbol(0).getType());
}
+
+ @Test public void testBinaryStringLiteral() throws QueryParserException {
+ Query actualCommand = (Query)QueryParser.getQueryParser().parseCommand("SELECT x'AABBCC0a'", new ParseInfo());
+ assertEquals(DataTypeManager.DefaultDataClasses.VARBINARY, actualCommand.getSelect().getSymbol(0).getType());
+ assertEquals("SELECT X'AABBCC0A'", actualCommand.toString());
+ }
}
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -7677,5 +7677,16 @@
helpProcess(plan, cc, hdm, expected);
}
+ @Test public void testVarbinary() {
+ ProcessorPlan plan = helpGetPlan("select cast(to_chars(X'2b21', 'ascii') as string)", RealMetadataFactory.example1Cached());
+ helpProcess(plan, new FakeDataManager(), new List<?>[] {Arrays.asList("+!")});
+ }
+
+ @Test public void testVarbinaryOrderBy() {
+ ProcessorPlan plan = helpGetPlan("select cast(to_chars(x, 'ascii') as string) from (select X'3132' as x union all select X'2b21') as y order by x", RealMetadataFactory.example1Cached());
+ helpProcess(plan, new FakeDataManager(), new List<?>[] {Arrays.asList("+!"), Arrays.asList("12")});
+ }
+
+
private static final boolean DEBUG = false;
}
Modified: trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestConstant.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestConstant.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/engine/src/test/java/org/teiid/query/sql/symbol/TestConstant.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -28,7 +28,7 @@
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.UnitTestUtil;
-
+@SuppressWarnings("nls")
public class TestConstant {
// ################################## TEST HELPERS ################################
Deleted: trunk/metadata/DATATYPES.INDEX
===================================================================
(Binary files differ)
Modified: trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java
===================================================================
--- trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/metadata/src/main/java/org/teiid/metadata/index/IndexMetadataFactory.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -22,8 +22,12 @@
package org.teiid.metadata.index;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.URISyntaxException;
+import java.nio.charset.Charset;
import java.util.*;
import org.jboss.vfs.VirtualFile;
@@ -33,6 +37,7 @@
import org.teiid.core.TeiidException;
import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.index.IEntryResult;
+import org.teiid.core.util.PropertiesUtils;
import org.teiid.core.util.StringUtil;
import org.teiid.internal.core.index.Index;
import org.teiid.metadata.*;
@@ -159,7 +164,7 @@
addEntriesPlusVisibilities(vdb, new VDBMetaData());
}
- Map<String, AbstractMetadataRecord> getByType(char type) {
+ Map<String, AbstractMetadataRecord> getByType(char type) {
LinkedHashMap<String, AbstractMetadataRecord> uuidMap = allRecords.get(type);
if (uuidMap == null) {
uuidMap = new LinkedHashMap<String, AbstractMetadataRecord>();
@@ -208,6 +213,29 @@
public MetadataStore getMetadataStore(Collection<Datatype> systemDatatypes) throws IOException {
if (this.store == null) {
this.store = new MetadataStore();
+ if (systemDatatypes == null) {
+ InputStream is = this.getClass().getClassLoader().getResourceAsStream("org/teiid/metadata/types.dat"); //$NON-NLS-1$
+ try {
+ InputStreamReader isr = new InputStreamReader(is, Charset.forName("UTF-8")); //$NON-NLS-1$
+ BufferedReader br = new BufferedReader(isr);
+ String s = br.readLine();
+ String[] props = s.split("\\|"); //$NON-NLS-1$
+ while ((s = br.readLine()) != null) {
+ Datatype dt = new Datatype();
+ String[] vals = s.split("\\|"); //$NON-NLS-1$
+ Properties p = new Properties();
+ for (int i = 0; i < props.length; i++) {
+ if (vals[i].length() != 0) {
+ p.setProperty(props[i], new String(vals[i]));
+ }
+ }
+ PropertiesUtils.setBeanProperties(dt, p, null);
+ this.store.addDatatype(dt);
+ }
+ } finally {
+ is.close();
+ }
+ }
ArrayList<Index> tmp = new ArrayList<Index>();
for (VirtualFile f : indexFiles) {
Index index = new Index(f, true);
@@ -221,14 +249,18 @@
index.close();
}
Map<String, AbstractMetadataRecord> uuidToRecord = getByType(MetadataConstants.RECORD_TYPE.DATATYPE);
- for (AbstractMetadataRecord datatypeRecordImpl : uuidToRecord.values()) {
- this.store.addDatatype((Datatype) datatypeRecordImpl);
- }
if (systemDatatypes != null) {
for (Datatype datatype : systemDatatypes) {
uuidToRecord.put(datatype.getUUID(), datatype);
}
+ } else {
+ for (Datatype datatype : this.store.getDatatypes()) {
+ uuidToRecord.put(datatype.getUUID(), datatype);
+ }
}
+ for (AbstractMetadataRecord datatypeRecordImpl : uuidToRecord.values()) {
+ this.store.addDatatype((Datatype) datatypeRecordImpl);
+ }
getModels();
getTables();
getProcedures();
Modified: trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
--- trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -41,6 +41,8 @@
* RuntimeAdapter
*/
public class RecordFactory {
+ /** Delimiter used to separate the URI string from the URI fragment */
+ public static final String URI_REFERENCE_DELIMITER = "#"; //$NON-NLS-1$
public static final int INDEX_RECORD_BLOCK_SIZE = IIndexConstants.BLOCK_SIZE - 32;
@@ -609,12 +611,19 @@
tokenIndex++;
// Set the datatype and basetype identifiers
- dt.setDatatypeID(getObjectValue(tokens.get(tokenIndex++)));
- dt.setBasetypeID(getObjectValue(tokens.get(tokenIndex++)));
+ tokenIndex++;
+ String basetypeID = getObjectValue(tokens.get(tokenIndex++));
+ if ( basetypeID != null ) {
+ final int i = basetypeID.lastIndexOf(URI_REFERENCE_DELIMITER);
+ if ( i != -1 && basetypeID.length() > (i+1)) {
+ basetypeID = basetypeID.substring(i+1);
+ }
+ }
+ dt.setBasetypeName(basetypeID);
// Set the fullName/objectID/nameInSource
String fullName = tokens.get(tokenIndex++);
- int indx = fullName.lastIndexOf(Datatype.URI_REFERENCE_DELIMITER);
+ int indx = fullName.lastIndexOf(URI_REFERENCE_DELIMITER);
if (indx > -1) {
fullName = new String(fullName.substring(indx+1));
} else {
@@ -665,7 +674,7 @@
// Set the primitive type identifier
if (includePrimitiveTypeIdValue(indexVersion)) {
// The next token is the primitive type identifier
- dt.setPrimitiveTypeID(getObjectValue(tokens.get(tokenIndex++)));
+ tokenIndex++;
}
// The next tokens are footer values
Modified: trunk/metadata/src/main/resources/System.vdb
===================================================================
(Binary files differ)
Added: trunk/metadata/src/main/resources/org/teiid/metadata/types.dat
===================================================================
--- trunk/metadata/src/main/resources/org/teiid/metadata/types.dat (rev 0)
+++ trunk/metadata/src/main/resources/org/teiid/metadata/types.dat 2012-01-23 18:52:20 UTC (rev 3813)
@@ -0,0 +1,54 @@
+UUID|annotation|autoIncrement|basetypeName|caseSensitive|javaClassName|length|name|nameInSource|nullType|precisionLength|radix|runtimeTypeName|scale|searchType|signed|type|varietyType
+mmuuid:43f5274e-55e1-1f87-ba1c-eea49143eb32||false|string|false|org.teiid.core.types.XMLType|0|XMLLiteral|XMLLiteral|No_Nulls|0|0|xml|0|Searchable|false|UserDefined|Atomic
+mmuuid:f2249740-a078-1e26-9b08-d6079ebe1f0d||false|decimal|false|java.math.BigDecimal|0|bigdecimal|bigdecimal|No_Nulls|0|0|bigdecimal|0|Searchable|false|UserDefined|Atomic
+mmuuid:822b9a40-a066-1e26-9b08-d6079ebe1f0d||false|decimal|false|java.math.BigInteger|0|biginteger|biginteger|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:5a793100-1836-1ed0-ba0f-f2334f5fbf95||false|base64Binary|false|org.teiid.core.types.BlobType|0|blob|blob|No_Nulls|0|0|blob|0|Searchable|false|UserDefined|Atomic
+mmuuid:62472700-a064-1e26-9b08-d6079ebe1f0d||false|string|false|java.lang.Character|0|char|char|No_Nulls|0|0|char|0|Searchable|false|UserDefined|Atomic
+mmuuid:559646c0-4941-1ece-b22b-f49159d22ad3||false|string|false|org.teiid.core.types.ClobType|0|clob|clob|No_Nulls|0|0|clob|0|Searchable|false|UserDefined|Atomic
+mmuuid:051a0640-b4e8-1e26-9f33-b76fd9d5fa79||false|base64Binary|false|java.lang.Object|0|object|object|No_Nulls|0|0|object|0|Searchable|false|UserDefined|Atomic
+mmuuid:6d9809c0-a07e-1e26-9b08-d6079ebe1f0d||false|string|false|java.sql.Timestamp|0|timestamp|timestamp|No_Nulls|0|0|timestamp|0|Searchable|false|UserDefined|Atomic
+mmuuid:20360100-e742-1e20-8c26-a038c6ed7576||false|ENTITY|false|java.lang.String|0|ENTITIES|ENTITIES|No_Nulls|0|0|string|0|Searchable|false|UserDefined|List
+mmuuid:9fece300-e71a-1e20-8c26-a038c6ed7576||false|NCName|false|java.lang.String|0|ENTITY|ENTITY|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:3c99f780-e72d-1e20-8c26-a038c6ed7576||false|IDREF|false|java.lang.String|0|IDREFS|IDREFS|No_Nulls|0|0|string|0|Searchable|false|UserDefined|List
+mmuuid:dd33ff40-e6df-1e20-8c26-a038c6ed7576||false|NCName|false|java.lang.String|0|IDREF|IDREF|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:88b13dc0-e702-1e20-8c26-a038c6ed7576||false|NCName|false|java.lang.String|0|ID|ID|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:ac00e000-e676-1e20-8c26-a038c6ed7576||false|Name|false|java.lang.String|0|NCName|NCName|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:4b0f8500-e6a6-1e20-8c26-a038c6ed7576||false|NMTOKEN|false|java.lang.String|0|NMTOKENS|NMTOKENS|No_Nulls|0|0|string|0|Searchable|false|UserDefined|List
+mmuuid:4ca2ae00-3a95-1e20-921b-eeee28353879||false|token|false|java.lang.String|0|NMTOKEN|NMTOKEN|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:3dcaf900-e8dc-1e2a-b433-fb67ea35c07e||false|anySimpleType|false|java.lang.String|0|NOTATION|NOTATION|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:e66c4600-e65b-1e20-8c26-a038c6ed7576||false|token|false|java.lang.String|0|Name|Name|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:eeb5d780-e8c3-1e2a-b433-fb67ea35c07e||false|anySimpleType|false|java.lang.String|0|QName|QName|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:6247ec80-e8a4-1e2a-b433-fb67ea35c07e||false|anySimpleType|false|java.lang.String|0|anyURI|anyURI|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:b4c99380-ebc6-1e2a-9319-8eaa9b2276c7||false|anySimpleType|false|java.lang.String|0|base64Binary|base64Binary|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:dc476100-c483-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.lang.Boolean|0|boolean|boolean|No_Nulls|0|0|boolean|0|Searchable|false|UserDefined|Atomic
+mmuuid:26dc1cc0-b9c8-1e21-b812-969c8fc8b016||false|short|false|java.lang.Byte|0|byte|byte|No_Nulls|0|0|byte|0|Searchable|false|UserDefined|Atomic
+mmuuid:5c69dec0-b3ea-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.sql.Timestamp|0|dateTime|dateTime|No_Nulls|0|0|timestamp|0|Searchable|false|UserDefined|Atomic
+mmuuid:65dcde00-c4ab-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.sql.Date|0|date|date|No_Nulls|0|0|date|0|Searchable|false|UserDefined|Atomic
+mmuuid:569dfa00-c456-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.math.BigDecimal|0|decimal|decimal|No_Nulls|0|0|bigdecimal|0|Searchable|false|UserDefined|Atomic
+mmuuid:1f18b140-c4a3-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.lang.Double|0|double|double|No_Nulls|0|0|double|0|Searchable|false|UserDefined|Atomic
+mmuuid:28d98540-b3e7-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.lang.String|0|duration|duration|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:d86b0d00-c48a-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.lang.Float|0|float|float|No_Nulls|0|0|float|0|Searchable|false|UserDefined|Atomic
+mmuuid:860b7dc0-b3f8-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.math.BigInteger|0|gDay|gDay|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:6e604140-b3f5-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.sql.Timestamp|0|gMonthDay|gMonthDay|No_Nulls|0|0|timestamp|0|Searchable|false|UserDefined|Atomic
+mmuuid:187f5580-b3fb-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.math.BigInteger|0|gMonth|gMonth|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:17d08040-b3ed-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.sql.Timestamp|0|gYearMonth|gYearMonth|No_Nulls|0|0|timestamp|0|Searchable|false|UserDefined|Atomic
+mmuuid:b02c7600-b3f2-1e2a-9a03-beb8638ffd21||false|anySimpleType|false|java.math.BigInteger|0|gYear|gYear|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:d9998500-ebba-1e2a-9319-8eaa9b2276c7||false|anySimpleType|false|java.lang.String|0|hexBinary|hexBinary|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:45da3500-e78f-1e20-8c26-a038c6ed7576||false|decimal|false|java.math.BigInteger|0|integer|integer|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:33add3c0-b98d-1e21-b812-969c8fc8b016||false|long|false|java.lang.Integer|0|int|int|No_Nulls|0|0|integer|0|Searchable|false|UserDefined|Atomic
+mmuuid:d4d980c0-e623-1e20-8c26-a038c6ed7576||false|token|false|java.lang.String|0|language|language|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:8cdee840-b900-1e21-b812-969c8fc8b016||false|integer|false|java.lang.Long|0|long|long|No_Nulls|0|0|long|0|Searchable|false|UserDefined|Atomic
+mmuuid:86d29280-b8d3-1e21-b812-969c8fc8b016||false|nonPositiveInteger|false|java.math.BigInteger|0|negativeInteger|negativeInteger|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:0e081200-b8a4-1e21-b812-969c8fc8b016||false|integer|false|java.math.BigInteger|0|nonNegativeInteger|nonNegativeInteger|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:cbdd6e40-b9d2-1e21-8c26-a038c6ed7576||false|integer|false|java.math.BigInteger|0|nonPositiveInteger|nonPositiveInteger|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:4df43700-3b13-1e20-921b-eeee28353879||false|string|false|java.lang.String|0|normalizedString|normalizedString|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:1cbbd380-b9ea-1e21-b812-969c8fc8b016||false|nonNegativeInteger|false|java.math.BigInteger|0|positiveInteger|positiveInteger|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:5bbcf140-b9ae-1e21-b812-969c8fc8b016||false|int|false|java.lang.Short|0|short|short|No_Nulls|0|0|short|0|Searchable|false|UserDefined|Atomic
+mmuuid:bf6c34c0-c442-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.lang.String|0|string|string|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:3b892180-c4a7-1e24-9b01-c8207cd53eb7||false|anySimpleType|false|java.sql.Time|0|time|time|No_Nulls|0|0|time|0|Searchable|false|UserDefined|Atomic
+mmuuid:3425cb80-d844-1e20-9027-be6d2c3b8b3a||false|normalizedString|false|java.lang.String|0|token|token|No_Nulls|0|0|string|0|Searchable|false|UserDefined|Atomic
+mmuuid:cff745c0-baa2-1e21-b812-969c8fc8b016||false|unsignedShort|false|java.lang.Short|0|unsignedByte|unsignedByte|No_Nulls|0|0|short|0|Searchable|false|UserDefined|Atomic
+mmuuid:badcbd80-ba63-1e21-b812-969c8fc8b016||false|unsignedLong|false|java.lang.Long|0|unsignedInt|unsignedInt|No_Nulls|0|0|long|0|Searchable|false|UserDefined|Atomic
+mmuuid:54b98780-ba14-1e21-b812-969c8fc8b016||false|nonNegativeInteger|false|java.math.BigInteger|0|unsignedLong|unsignedLong|No_Nulls|0|0|biginteger|0|Searchable|false|UserDefined|Atomic
+mmuuid:327093c0-ba88-1e21-b812-969c8fc8b016||false|unsignedInt|false|java.lang.Integer|0|unsignedShort|unsignedShort|No_Nulls|0|0|integer|0|Searchable|false|UserDefined|Atomic
+mmuuid:182fd511-1a3e-447a-a6ea-72569d6a22ec||false|base64Binary|false|org.teiid.core.types.BinaryType|0|varbinary|varbinary|No_Nulls|0|0|varbinary|0|Searchable|false|UserDefined|Atomic
\ No newline at end of file
Modified: trunk/metadata/src/test/java/org/teiid/metadata/index/VDBMetadataFactory.java
===================================================================
--- trunk/metadata/src/test/java/org/teiid/metadata/index/VDBMetadataFactory.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/metadata/src/test/java/org/teiid/metadata/index/VDBMetadataFactory.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -31,7 +31,6 @@
import java.util.Collection;
import java.util.concurrent.Executors;
-import javax.xml.bind.JAXBException;
import javax.xml.stream.XMLStreamException;
import org.jboss.vfs.TempFileProvider;
Deleted: trunk/metadata/system-vdb-update.txt
===================================================================
--- trunk/metadata/system-vdb-update.txt 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/metadata/system-vdb-update.txt 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,3 +0,0 @@
-When updating the System.vdb using a VDB built by a 7.x Designer, the runtime-inf/DATATYPES.INDEX must be copied from the old
-version. Designer VDBs no longer contain a separate copy of that INDEX. We could consider splitting the datatype information
-into its own vdb to better handle this.
\ No newline at end of file
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -55,6 +55,7 @@
private List<VDBLifeCycleListener> listeners = new CopyOnWriteArrayList<VDBLifeCycleListener>();
private SystemFunctionManager systemFunctionManager;
private MetadataRepository metadataRepository;
+ private Map<String, Datatype> datatypeMap = new HashMap<String, Datatype>();
public MetadataRepository getMetadataRepository() {
return metadataRepository;
@@ -224,6 +225,15 @@
public void setSystemStore(MetadataStore store) {
this.systemStore = store;
+ Collection<Datatype> datatypes = this.systemStore.getDatatypes();
+ for (Class<?> typeClass : DataTypeManager.getAllDataTypeClasses()) {
+ for (Datatype datatypeRecordImpl : datatypes) {
+ if (datatypeRecordImpl.getJavaClassName().equals(typeClass.getName())) {
+ datatypeMap.put(DataTypeManager.getDataTypeName(typeClass), datatypeRecordImpl);
+ break;
+ }
+ }
+ }
}
public void setMetadataRepository(MetadataRepository metadataRepository) {
@@ -265,16 +275,6 @@
}
public Map<String, Datatype> getBuiltinDatatypes() {
- Collection<Datatype> datatypes = this.systemStore.getDatatypes();
- Map<String, Datatype> datatypeMap = new HashMap<String, Datatype>();
- for (Class<?> typeClass : DataTypeManager.getAllDataTypeClasses()) {
- for (Datatype datatypeRecordImpl : datatypes) {
- if (datatypeRecordImpl.getJavaClassName().equals(typeClass.getName())) {
- datatypeMap.put(DataTypeManager.getDataTypeName(typeClass), datatypeRecordImpl);
- break;
- }
- }
- }
return datatypeMap;
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/MockConnector.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/MockConnector.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/MockConnector.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -15,11 +15,11 @@
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.metadata.BaseColumn.NullType;
import org.teiid.metadata.Column.SearchType;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.ProcedureExecution;
import org.teiid.translator.ResultSetExecution;
+import org.teiid.translator.TranslatorException;
public class MockConnector extends ExecutionFactory<Object, Object> {
@@ -66,9 +66,6 @@
TestCase.assertEquals(String.class, elementMD.getJavaType());
TestCase.assertEquals(null, elementMD.getMaximumValue());
TestCase.assertEquals(null, elementMD.getMinimumValue());
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#anySimpleType", elementMD.getBaseTypeID()); //$NON-NLS-1$
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#string", elementMD.getPrimitiveTypeID()); //$NON-NLS-1$
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#string", elementMD.getDatatypeID()); //$NON-NLS-1$
TestCase.assertEquals("COLUMN1", elementMD.getNameInSource()); //$NON-NLS-1$
TestCase.assertEquals("STR", elementMD.getNativeType()); //$NON-NLS-1$
TestCase.assertEquals(NullType.Nullable, elementMD.getNullType());
@@ -94,9 +91,6 @@
TestCase.assertEquals(Integer.class, elementMD2.getJavaType());
TestCase.assertEquals("1", elementMD2.getMaximumValue()); //$NON-NLS-1$
TestCase.assertEquals("100", elementMD2.getMinimumValue()); //$NON-NLS-1$
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#long", elementMD2.getBaseTypeID()); //$NON-NLS-1$
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#decimal", elementMD2.getPrimitiveTypeID()); //$NON-NLS-1$
- TestCase.assertEquals("http://www.w3.org/2001/XMLSchema#int", elementMD2.getDatatypeID()); //$NON-NLS-1$
TestCase.assertEquals("COLUMN2", elementMD2.getNameInSource()); //$NON-NLS-1$
TestCase.assertEquals("INT", elementMD2.getNativeType()); //$NON-NLS-1$
TestCase.assertEquals(NullType.No_Nulls, elementMD2.getNullType());
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -68,8 +68,7 @@
public void helpTestElement(String fullGroupName, String elementShortName, TranslationUtility transUtil,
String nameInSource, Object defaultValue, Object minValue, Object maxValue,
Class<?> javaType, int length, NullType nullable, int position, SearchType searchable,
- boolean autoIncrement, boolean caseSensitive, Map<String, String> expectedProps,
- String modeledType, String modeledBaseType, String modeledPrimitiveType)
+ boolean autoIncrement, boolean caseSensitive, Map<String, String> expectedProps)
throws Exception {
Column element = getElement(fullGroupName, elementShortName, transUtil);
@@ -85,13 +84,6 @@
assertEquals(autoIncrement, element.isAutoIncremented());
assertEquals(caseSensitive, element.isCaseSensitive());
-//System.out.println("\n" + element.getModeledType() + "\n" + element.getModeledBaseType() + "\n" + element.getModeledPrimitiveType());
-
- assertEquals(modeledType, element.getDatatypeID());
- assertEquals(modeledBaseType, element.getBaseTypeID());
- assertEquals(modeledPrimitiveType, element.getPrimitiveTypeID());
-
-
Map<String, String> extProps = element.getProperties();
assertEquals(expectedProps, extProps);
}
@@ -112,10 +104,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -135,10 +124,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -158,10 +144,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -181,10 +164,7 @@
SearchType.Searchable, // searchable
true, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#long", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#integer", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -204,10 +184,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
false, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -227,10 +204,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -250,10 +224,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.metamatrix.com/XMLSchema/DataSets/Books/BookDatatypes#Publicat...", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#gYear", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#gYear" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -273,10 +244,7 @@
SearchType.Unsearchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -296,10 +264,7 @@
SearchType.Like_Only, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -319,10 +284,7 @@
SearchType.All_Except_Like, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -342,10 +304,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -365,10 +324,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -388,10 +344,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -411,10 +364,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#string", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string" // modeled primitive type //$NON-NLS-1$
+ props
);
}
@@ -434,10 +384,7 @@
SearchType.Searchable, // searchable
false, // auto incremented
true, // case sensitive
- props, // extension properties
- "http://www.w3.org/2001/XMLSchema#int", // modeled type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", // modeled base type //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal" // modeled primitive type //$NON-NLS-1$
+ props
);
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -40,6 +40,7 @@
/**
* @since 4.3
*/
+@SuppressWarnings("nls")
public class TestParams extends TestCase {
private static TranslationUtility CONNECTOR_METADATA_UTILITY = createTranslationUtility(getTestVDBName());
@@ -76,16 +77,14 @@
private void checkParameter(Argument param,
String name,
String fullName,
- int index,
Direction direction,
String nameInSource,
String defaultValue,
NullType nullability,
- Class javaType,
+ Class<?> javaType,
int length,
int precision,
- int scale,
- TranslationUtility transUtil, String modeledType, String modeledBaseType, String modeledPrimitiveType) throws Exception {
+ int scale) throws Exception {
ProcedureParameter p = param.getMetadataObject();
assertEquals(name, p.getName());
assertEquals(fullName, p.getFullName());
@@ -100,12 +99,6 @@
assertEquals(scale, p.getScale());
assertEquals(null, param.getArgumentValue().getValue());
- //System.out.println("\n" + p.getModeledType() + "\n" + p.getModeledBaseType() + "\n" + p.getModeledPrimitiveType());
-
- assertEquals(modeledType, p.getDatatypeID());
- assertEquals(modeledBaseType, p.getBaseTypeID());
- assertEquals(modeledPrimitiveType, p.getPrimitiveTypeID());
-
}
public void testProcedureWithResultSet() throws Exception {
@@ -116,70 +109,50 @@
checkParameter((Argument)params.get(0),
"in1", //$NON-NLS-1$
"sptest.proc1.in1", //$NON-NLS-1$
- 1,
Direction.IN,
null,
- "sample default", //$NON-NLS-1$
- NullType.No_Nulls,
+ "sample default",
+ NullType.No_Nulls, //$NON-NLS-1$
String.class,
20,
10,
- 5,
- CONNECTOR_METADATA_UTILITY,
- "http://www.w3.org/2001/XMLSchema#string", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string"); //$NON-NLS-1$
+ 5); //$NON-NLS-1$
checkParameter((Argument)params.get(1),
"in2", //$NON-NLS-1$
"sptest.proc1.in2", //$NON-NLS-1$
- 2,
Direction.IN,
null,
- "15", //$NON-NLS-1$
- NullType.Nullable,
+ "15",
+ NullType.Nullable, //$NON-NLS-1$
Integer.class,
0,
10,
- 0,
- CONNECTOR_METADATA_UTILITY,
- "http://www.w3.org/2001/XMLSchema#int", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#long", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#decimal"); //$NON-NLS-1$
+ 0); //$NON-NLS-1$
checkParameter((Argument)params.get(2),
"in3", //$NON-NLS-1$
"sptest.proc1.in3", //$NON-NLS-1$
- 3,
Direction.IN,
null,
- "2003-04-23 09:30:00", //$NON-NLS-1$
- NullType.Unknown,
+ "2003-04-23 09:30:00",
+ NullType.Unknown, //$NON-NLS-1$
Timestamp.class,
22,
10,
- 0,
- CONNECTOR_METADATA_UTILITY,
- "http://www.metamatrix.com/metamodels/SimpleDatatypes-instance#timestamp", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string"); //$NON-NLS-1$
+ 0); //$NON-NLS-1$
checkParameter((Argument)params.get(3),
"inOptional", //$NON-NLS-1$
"sptest.proc1.inOptional", //$NON-NLS-1$
- 4,
Direction.IN,
- "optionalName", //$NON-NLS-1$
- null,
+ "optionalName",
+ null, //$NON-NLS-1$
NullType.Nullable,
String.class,
0,
0,
- 0,
- CONNECTOR_METADATA_UTILITY,
- "http://www.w3.org/2001/XMLSchema#string", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#anySimpleType", //$NON-NLS-1$
- "http://www.w3.org/2001/XMLSchema#string"); //$NON-NLS-1$
+ 0); //$NON-NLS-1$
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java 2012-01-23 18:52:20 UTC (rev 3813)
@@ -26,6 +26,7 @@
import java.net.InetSocketAddress;
import java.sql.Connection;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
@@ -109,6 +110,24 @@
assertEquals("<root></root>", s.getResultSet().getString(1));
}
+ @Test public void testVarbinary() throws Exception {
+ Statement s = conn.createStatement();
+ assertTrue(s.execute("select X'aab1'"));
+ s.getResultSet().next();
+ byte[] bytes = s.getResultSet().getBytes(1);
+ assertArrayEquals(new byte[] {(byte)0xaa, (byte)0xb1}, bytes);
+ assertArrayEquals(bytes, s.getResultSet().getBlob(1).getBytes(1, 2));
+ }
+
+ @Test public void testVarbinaryPrepared() throws Exception {
+ PreparedStatement s = conn.prepareStatement("select cast(? as varbinary)");
+ s.setBytes(1, "hello".getBytes());
+ assertTrue(s.execute());
+ s.getResultSet().next();
+ byte[] bytes = s.getResultSet().getBytes(1);
+ assertEquals("hello", new String(bytes));
+ }
+
@Test public void testXmlTableScrollable() throws Exception {
Statement s = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
assertTrue(s.execute("select * from xmltable('/root/row' passing (select xmlelement(name \"root\", xmlagg(xmlelement(name \"row\", xmlforest(t.name)) order by t.name)) from tables as t, columns as t1) columns \"Name\" string) as x"));
Modified: trunk/test-integration/common/src/test/resources/TestCase3473/testGetPrimaryKeys.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestCase3473/testGetPrimaryKeys.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestCase3473/testGetPrimaryKeys.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
test test all_models model_id 1 models_pk
Row Count : 1
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
@@ -10,7 +10,7 @@
KEY_SEQ 5 test java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 test java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 test java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -20,7 +20,7 @@
KEY_SEQ 5 test java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 test java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 test java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestCase3473/testGetTables.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestCase3473/testGetTables.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestCase3473/testGetTables.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
test SYS Columns SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
test SYS DataTypes SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
test SYS KeyColumns SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
@@ -43,7 +43,7 @@
REF_GENERATION 12 test java.lang.String REF_GENERATION string <null> <null> 4000 4000 0 false false false true 1 false true true true
IsPhysical -7 test java.lang.Boolean ISPHYSICAL boolean SYS Tables 5 1 0 false true false false 0 true true false false
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 test java.lang.String TABLE_CAT string SYS Tables 255 255 0 false true false true 1 false true true true
@@ -58,7 +58,7 @@
REF_GENERATION 12 test java.lang.String REF_GENERATION string <null> <null> 4000 4000 0 false false false true 1 false true true true
IsPhysical -7 test java.lang.Boolean ISPHYSICAL boolean SYS Tables 5 1 0 false true false false 0 true true false false
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 test java.lang.String TABLE_CAT string SYS Tables 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,1098 +1,1098 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BigDecimalValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BigIntegerValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BooleanValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ByteNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.CharValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.DateValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.DoubleNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.FloatNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.IntKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.IntNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.LongNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ObjectValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ShortValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.StringKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.StringNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.TimestampValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.TimeValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow IntKey 4 integer 10 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow StringKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow IntNum 4 integer 10 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow StringNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow FloatNum 7 float 20 <null> 0 0 1 <null> <null> <null> <null> 0 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow LongNum -5 long 19 <null> 0 0 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow DoubleNum 8 double 20 <null> 0 0 1 <null> <null> <null> <null> 0 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ByteNum -6 byte 3 <null> 0 0 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow DateValue 91 date 10 <null> 0 0 1 <null> <null> <null> <null> 0 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow TimeValue 92 time 8 <null> 0 0 1 <null> <null> <null> <null> 0 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow TimestampValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BooleanValue -7 boolean 1 <null> 0 0 1 <null> <null> <null> <null> 0 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow CharValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ShortValue 5 short 5 <null> 0 0 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BigIntegerValue 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BigDecimalValue 2 bigdecimal 20 <null> 0 0 1 <null> <null> <null> <null> 0 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ObjectValue <null> <null> <null> <null> 0 0 1 <null> <null> <null> <null> 0 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg3 count 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 1 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 min 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 sum -5 long 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 avg 8 double 20 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr1 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr2 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr3 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr4 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr5 E 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr6 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr6 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr7 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr7 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order3 E 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order4 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order5 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews SchemaName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews TargetSchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews LoadState 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams UID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties ClobValue 2005 clob 2097152 <null> 0 10 1 <null> <null> <null> <null> 2097152 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas Name 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U11 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U11 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 B 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 Source 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U6 StringCol 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U6 IntCol 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 B 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN VDBResources resourcePath 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2.data2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2.key2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3.key3.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3.key3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data2 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key2 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.@dataAttr 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper dataAttr 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument.MappingClasses.wrapper1 key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument.MappingClasses.wrapper1 data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.@fixedAttr 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.fixed 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.groupID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisorID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.groupID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisorID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.pseudoID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group supervisorID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 supervisorID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor groupID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_datatype oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_datatype typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_datatype name 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_datatype uid 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_datatype typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt autoinc -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog matpg_relatt typoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3.key3.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3.key3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument.MappingClasses.wrapper3 key3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument.MappingClasses.wrapper3 data3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument.MappingClasses.multipleDocsTest key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument.MappingClasses.multipleDocsTest data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper.nillableField 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument.MappingClasses.wrapper nillableField 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_am oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_am amname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attrdef adrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attrdef adnum 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attrdef adbin 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attrdef adsrc 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute atttypid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute atttypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attnotnull -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute attisdropped -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_attribute atthasdef -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relkind 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relam 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class reltuples 7 float 20 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relpages 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relhasrules -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_class relhasoids -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database encoding 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datlastsysoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datallowconn 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datconfig 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datacl 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database datdba 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_database dattablespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indexrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indisclustered -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indisunique -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indisprimary -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indexprs 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_index indkey 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_namespace oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_namespace nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proretset -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc prorettype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc pronargs 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proargnames 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proargmodes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc proallargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_proc pronamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgconstrrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgfoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgnargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgdeferrable -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tginitdeferred -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgconstrname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_trigger tgrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typtype 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typbasetype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typtypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_type typelem 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_user oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_user usename 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_user usecreatedb -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-QT_Ora9DS pg_catalog pg_user usesuper -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.nestedRecurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData key 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData data 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData nextKey 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BigDecimalValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BigIntegerValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.BooleanValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ByteNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.CharValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.DateValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.DoubleNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.FloatNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.IntKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.IntNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.LongNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ObjectValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.ShortValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.StringKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.StringNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.TimestampValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow.TimeValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow IntKey 4 integer 10 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow StringKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow IntNum 4 integer 10 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow StringNum 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow FloatNum 7 float 20 <null> 0 0 1 <null> <null> <null> <null> 0 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow LongNum -5 long 19 <null> 0 0 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow DoubleNum 8 double 20 <null> 0 0 1 <null> <null> <null> <null> 0 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ByteNum -6 byte 3 <null> 0 0 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow DateValue 91 date 10 <null> 0 0 1 <null> <null> <null> <null> 0 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow TimeValue 92 time 8 <null> 0 0 1 <null> <null> <null> <null> 0 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow TimestampValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BooleanValue -7 boolean 1 <null> 0 0 1 <null> <null> <null> <null> 0 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow CharValue 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ShortValue 5 short 5 <null> 0 0 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BigIntegerValue 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow BigDecimalValue 2 bigdecimal 20 <null> 0 0 1 <null> <null> <null> <null> 0 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc BQTDocTestDocument.MappingClasses.SingleRow ObjectValue <null> <null> <null> <null> 0 0 1 <null> <null> <null> <null> 0 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg1 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg2 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg3 count 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 1 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg4 min 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg4 sum -5 long 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Agg4 avg 8 double 20 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr1 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr1 expr 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr2 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr2 E 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr3 expr 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr4 E 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr5 E 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 20 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr6 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr6 expr 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr7 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Expr7 E 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Mapping4 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order3 E 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 20 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order4 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Base.Order5 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews VDBName 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews SchemaName 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews Name 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews TargetSchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews LoadState 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams UID 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 50 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams Description 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures Description 12 string 225 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Properties ClobValue 2005 clob 2097152 <null> 0 10 1 <null> <null> <null> <null> 2097152 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_CAT 12 string 1 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_CAT 12 string 1 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas VDBName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas Name 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT1 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS BQT2 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables VDBName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U10 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U11 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U11 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U4 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U4 B 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U4 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U5 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U5 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U5 Source 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U6 StringCol 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U6 IntCol 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U7 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U8 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U9 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U9 B 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS VQT Union.U9 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN VDBResources resourcePath 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1.wrapper1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2.data2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2.key2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2.wrapper2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3.key3.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3.key3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3.wrapper3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument choiceTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data2 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key2 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest key3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc choiceTestDocument.MappingClasses.choiceTest data3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.@dataAttr 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc defaultValueTestDocument.MappingClasses.wrapper dataAttr 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument.MappingClasses.wrapper1 key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc emptyContentTestDocument.MappingClasses.wrapper1 data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.@fixedAttr 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.fixed 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc fixedValueTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.groupID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisorID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA.supervisor 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.code 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.groupID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor.ID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisorID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB.supervisor 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group.pseudoID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group supervisorID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.group1 supervisorID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor ID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor code 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc groupDocument.MappingClasses.supervisor groupID 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_datatype oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_datatype typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_datatype name 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_datatype uid 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_datatype typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt autoinc -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog matpg_relatt typoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3.key3.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3.key3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument.MappingClasses.wrapper3 key3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc mixedContentTestDocument.MappingClasses.wrapper3 data3 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc multipleDocsTestDocument.MappingClasses.multipleDocsTest key1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc multipleDocsTestDocument.MappingClasses.multipleDocsTest data1 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper.nillableField 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument nillableTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument.MappingClasses.wrapper key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTDoc nillableTestDocument.MappingClasses.wrapper nillableField 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_am oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_am amname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attrdef adrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attrdef adnum 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attrdef adbin 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attrdef adsrc 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute atttypid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute atttypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attnotnull -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute attisdropped -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_attribute atthasdef -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relkind 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relam 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class reltuples 7 float 20 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relpages 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relhasrules -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_class relhasoids -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database encoding 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datlastsysoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datallowconn 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datconfig 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datacl 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database datdba 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_database dattablespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indexrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indisclustered -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indisunique -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indisprimary -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indexprs 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_index indkey 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_namespace oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_namespace nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proretset -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc prorettype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc pronargs 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proargnames 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proargmodes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc proallargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_proc pronamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgconstrrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgfoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgnargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgdeferrable -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tginitdeferred -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgconstrname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_trigger tgrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typtype 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typbasetype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typtypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_type typelem 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_user oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_user usename 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_user usecreatedb -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+QT_Ora9DS pg_catalog pg_user usesuper -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.TemporaryTable2 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testBoundTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testExcludeFromDoc.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNested2Document.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.nestedRecurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.nestedRecurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testNestedDocument.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.moveToRootTempTable nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testOptimizableTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testRootTempTable.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleDocument.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.nested1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTNestedDoc testSimpleNested.MappingClasses.root nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.data 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.key 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.nextKey 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot.recurse 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.TemporaryTable1 nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recurse nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot key 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot data 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQTRecursiveDoc testSimpleTempTable.MappingClasses.recursiveRoot nextKey 2 biginteger 19 <null> 0 0 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtData key 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtData data 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtData nextKey 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData StringKey 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 2 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData StringNum 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS XQT xqtFullData ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 YES <null> <null> <null> !
<null> NO
Row Count : 1084
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 QT_Ora9DS java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 QT_Ora9DS java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns2.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,14 +1,14 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 QT_Ora9DS java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 QT_Ora9DS java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns3.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,14 +1,14 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 QT_Ora9DS java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 QT_Ora9DS java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns4.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,14 +1,14 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 QT_Ora9DS java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 QT_Ora9DS java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumnsSingleMatch.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,14 +1,14 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 QT_Ora9DS java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 QT_Ora9DS java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 QT_Ora9DS java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 QT_Ora9DS java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 QT_Ora9DS java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 QT_Ora9DS java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfo.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -16,7 +16,7 @@
PAGES 4 QT_Ora9DS java.lang.Integer PAGES integer <null> <null> 11 10 0 false false false true 1 false true true true
FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION string <null> <null> 4000 4000 0 false false false true 1 false true true true
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -33,7 +33,7 @@
PAGES 4 QT_Ora9DS java.lang.Integer PAGES integer <null> <null> 11 10 0 false false false true 1 false true true true
FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION string <null> <null> 4000 4000 0 false false false true 1 false true true true
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfoWithEscape.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfoWithEscape.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetIndexInfoWithEscape.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -16,7 +16,7 @@
PAGES 4 QT_Ora9DS java.lang.Integer PAGES integer <null> <null> 11 10 0 false false false true 1 false true true true
FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION string <null> <null> 4000 4000 0 false false false true 1 false true true true
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -33,7 +33,7 @@
PAGES 4 QT_Ora9DS java.lang.Integer PAGES integer <null> <null> 11 10 0 false false false true 1 false true true true
FILTER_CONDITION 12 QT_Ora9DS java.lang.String FILTER_CONDITION string <null> <null> 4000 4000 0 false false false true 1 false true true true
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeys.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
QT_Ora9DS BQT1 SmallA IntKey 1 PK_SmallA
Row Count : 1
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
@@ -10,7 +10,7 @@
KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 QT_Ora9DS java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -20,7 +20,7 @@
KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 QT_Ora9DS java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeysWithEscape.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeysWithEscape.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetPrimaryKeysWithEscape.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
QT_Ora9DS BQT1 SmallA IntKey 1 PK_SmallA
Row Count : 1
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
@@ -10,7 +10,7 @@
KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 QT_Ora9DS java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
@@ -20,7 +20,7 @@
KEY_SEQ 5 QT_Ora9DS java.lang.Short KEY_SEQ short <null> <null> 6 5 0 false false false true 1 false true true true
KeyName 12 QT_Ora9DS java.lang.String PK_NAME string SYS KeyColumns 255 255 0 false false false false 1 true true false false
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS KeyColumns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,73 +1,73 @@
-string string string string short integer string integer integer short integer integer string string string string string integer string string
-VDBName SchemaName ProcedureName Name COLUMN_TYPE DATA_TYPE DataType PRECISION LENGTH SCALE Radix NULLABLE Description COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH Position IS_NULLABLE ProcedureName
-QT_Ora9DS SP sp_all_smalla_rows IntKey 3 4 integer 22 10 0 10 0 <null> <null> <null> <null> <null> 1 NO sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows StringKey 3 12 string 4000 10 0 10 0 <null> <null> <null> <null> <null> 2 NO sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows IntNum 3 4 integer 22 10 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows StringNum 3 12 string 4000 10 0 10 1 <null> <null> <null> <null> <null> 4 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows FloatNum 3 7 float 20 126 0 10 1 <null> <null> <null> <null> <null> 5 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows LongNum 3 -5 long 28 19 0 10 1 <null> <null> <null> <null> <null> 6 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows DoubleNum 3 8 double 20 28 0 10 1 <null> <null> <null> <null> <null> 7 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows ByteNum 3 -6 byte 8 3 0 10 1 <null> <null> <null> <null> <null> 8 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows DateValue 3 91 date 10 7 0 10 1 <null> <null> <null> <null> <null> 9 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows TimeValue 3 92 time 8 7 0 10 1 <null> <null> <null> <null> <null> 10 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows TimestampValue 3 93 timestamp 29 7 0 10 1 <null> <null> <null> <null> <null> 11 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows BooleanValue 3 -7 boolean 1 1 0 10 1 <null> <null> <null> <null> <null> 12 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows CharValue 3 1 char 1 1 0 10 1 <null> <null> <null> <null> <null> 13 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows ShortValue 3 5 short 8 5 0 10 1 <null> <null> <null> <null> <null> 14 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows BigIntegerValue 3 2 biginteger 19 28 0 10 1 <null> <null> <null> <null> <null> 15 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows BigDecimalValue 3 2 bigdecimal 20 126 0 10 1 <null> <null> <null> <null> <null> 16 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_all_smalla_rows ObjectValue 3 2000 object 2147483647 2048 0 10 1 <null> <null> <null> <null> <null> 17 YES sp_all_smalla_rows
-QT_Ora9DS SP sp_count_all_smalla_rows allSmallARows 4 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_count_all_smalla_rows
-QT_Ora9DS SP sp_count_rows_between lwrlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_count_rows_between
-QT_Ora9DS SP sp_count_rows_between uprlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 2 YES sp_count_rows_between
-QT_Ora9DS SP sp_count_rows_between rowsBetween 4 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_count_rows_between
-QT_Ora9DS SP sp_rows_between lwrlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between uprlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 2 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between tablename 1 12 string 8 8 0 0 1 <null> <null> <null> <null> <null> 3 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between IntKey 3 4 integer 22 10 0 10 0 <null> <null> <null> <null> <null> 1 NO sp_rows_between
-QT_Ora9DS SP sp_rows_between StringKey 3 12 string 4000 10 0 10 0 <null> <null> <null> <null> <null> 2 NO sp_rows_between
-QT_Ora9DS SP sp_rows_between IntNum 3 4 integer 22 10 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between StringNum 3 12 string 4000 10 0 10 1 <null> <null> <null> <null> <null> 4 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between FloatNum 3 7 float 20 126 0 10 1 <null> <null> <null> <null> <null> 5 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between LongNum 3 -5 long 28 19 0 10 1 <null> <null> <null> <null> <null> 6 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between DoubleNum 3 8 double 20 28 0 10 1 <null> <null> <null> <null> <null> 7 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between ByteNum 3 -6 byte 8 3 0 10 1 <null> <null> <null> <null> <null> 8 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between DateValue 3 91 date 10 7 0 10 1 <null> <null> <null> <null> <null> 9 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between TimeValue 3 92 time 8 7 0 10 1 <null> <null> <null> <null> <null> 10 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between TimestampValue 3 93 timestamp 29 7 0 10 1 <null> <null> <null> <null> <null> 11 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between BooleanValue 3 -7 boolean 1 1 0 10 1 <null> <null> <null> <null> <null> 12 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between CharValue 3 1 char 1 1 0 10 1 <null> <null> <null> <null> <null> 13 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between ShortValue 3 5 short 8 5 0 10 1 <null> <null> <null> <null> <null> 14 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between BigIntegerValue 3 2 biginteger 19 28 0 10 1 <null> <null> <null> <null> <null> 15 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between BigDecimalValue 3 2 bigdecimal 20 126 0 10 1 <null> <null> <null> <null> <null> 16 YES sp_rows_between
-QT_Ora9DS SP sp_rows_between ObjectValue 3 2000 object 2147483647 2048 0 10 1 <null> <null> <null> <null> <null> 17 YES sp_rows_between
-QT_Ora9DS SYS getXMLSchemas document 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO getXMLSchemas
-QT_Ora9DS SYS getXMLSchemas schema 3 2009 xml 2147483647 2147483647 0 10 1 <null> <null> <null> <null> <null> 1 YES getXMLSchemas
-QT_Ora9DS SYSADMIN isLoggable level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO isLoggable
-QT_Ora9DS SYSADMIN isLoggable context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO isLoggable
-QT_Ora9DS SYSADMIN isLoggable loggable 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO isLoggable
-QT_Ora9DS SYSADMIN logMsg level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO logMsg
-QT_Ora9DS SYSADMIN logMsg context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO logMsg
-QT_Ora9DS SYSADMIN logMsg msg 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 4 NO logMsg
-QT_Ora9DS SYSADMIN logMsg logged 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO logMsg
-QT_Ora9DS SYSADMIN refreshMatView ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatView
-QT_Ora9DS SYSADMIN refreshMatView Invalidate 1 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatView
-QT_Ora9DS SYSADMIN refreshMatView RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatView
-QT_Ora9DS SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
-QT_Ora9DS SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
-QT_Ora9DS SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
-QT_Ora9DS SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
-QT_Ora9DS SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
-QT_Ora9DS SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
-QT_Ora9DS SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
-QT_Ora9DS SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
-QT_Ora9DS SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
-QT_Ora9DS SYSADMIN setProperty UID 1 12 string 4000 50 0 10 0 <null> <null> <null> <null> <null> 2 NO setProperty
-QT_Ora9DS SYSADMIN setProperty Name 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO setProperty
-QT_Ora9DS SYSADMIN setProperty Value 1 2005 clob 2147483647 2097152 0 10 1 <null> <null> <null> <null> <null> 4 YES setProperty
-QT_Ora9DS SYSADMIN setProperty OldValue 5 2005 clob 2147483647 2097152 0 10 0 <null> <null> <null> <null> <null> 1 NO setProperty
-QT_Ora9DS SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
-QT_Ora9DS SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
+string string string string short integer string integer integer short integer integer string string string string string integer string string
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME COLUMN_NAME COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SPECIFIC_NAME
+QT_Ora9DS SP sp_all_smalla_rows IntKey 3 4 integer 22 10 0 10 0 <null> <null> <null> <null> <null> 1 NO sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows StringKey 3 12 string 4000 10 0 10 0 <null> <null> <null> <null> <null> 2 NO sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows IntNum 3 4 integer 22 10 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows StringNum 3 12 string 4000 10 0 10 1 <null> <null> <null> <null> <null> 4 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows FloatNum 3 7 float 20 126 0 10 1 <null> <null> <null> <null> <null> 5 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows LongNum 3 -5 long 28 19 0 10 1 <null> <null> <null> <null> <null> 6 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows DoubleNum 3 8 double 20 28 0 10 1 <null> <null> <null> <null> <null> 7 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows ByteNum 3 -6 byte 8 3 0 10 1 <null> <null> <null> <null> <null> 8 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows DateValue 3 91 date 10 7 0 10 1 <null> <null> <null> <null> <null> 9 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows TimeValue 3 92 time 8 7 0 10 1 <null> <null> <null> <null> <null> 10 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows TimestampValue 3 93 timestamp 29 7 0 10 1 <null> <null> <null> <null> <null> 11 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows BooleanValue 3 -7 boolean 1 1 0 10 1 <null> <null> <null> <null> <null> 12 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows CharValue 3 1 char 1 1 0 10 1 <null> <null> <null> <null> <null> 13 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows ShortValue 3 5 short 8 5 0 10 1 <null> <null> <null> <null> <null> 14 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows BigIntegerValue 3 2 biginteger 19 28 0 10 1 <null> <null> <null> <null> <null> 15 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows BigDecimalValue 3 2 bigdecimal 20 126 0 10 1 <null> <null> <null> <null> <null> 16 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_all_smalla_rows ObjectValue 3 2000 object 2147483647 2048 0 10 1 <null> <null> <null> <null> <null> 17 YES sp_all_smalla_rows
+QT_Ora9DS SP sp_count_all_smalla_rows allSmallARows 4 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_count_all_smalla_rows
+QT_Ora9DS SP sp_count_rows_between lwrlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_count_rows_between
+QT_Ora9DS SP sp_count_rows_between uprlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 2 YES sp_count_rows_between
+QT_Ora9DS SP sp_count_rows_between rowsBetween 4 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_count_rows_between
+QT_Ora9DS SP sp_rows_between lwrlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 1 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between uprlimit 1 4 integer 10 4 0 10 1 <null> <null> <null> <null> <null> 2 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between tablename 1 12 string 8 8 0 0 1 <null> <null> <null> <null> <null> 3 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between IntKey 3 4 integer 22 10 0 10 0 <null> <null> <null> <null> <null> 1 NO sp_rows_between
+QT_Ora9DS SP sp_rows_between StringKey 3 12 string 4000 10 0 10 0 <null> <null> <null> <null> <null> 2 NO sp_rows_between
+QT_Ora9DS SP sp_rows_between IntNum 3 4 integer 22 10 0 10 1 <null> <null> <null> <null> <null> 3 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between StringNum 3 12 string 4000 10 0 10 1 <null> <null> <null> <null> <null> 4 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between FloatNum 3 7 float 20 126 0 10 1 <null> <null> <null> <null> <null> 5 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between LongNum 3 -5 long 28 19 0 10 1 <null> <null> <null> <null> <null> 6 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between DoubleNum 3 8 double 20 28 0 10 1 <null> <null> <null> <null> <null> 7 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between ByteNum 3 -6 byte 8 3 0 10 1 <null> <null> <null> <null> <null> 8 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between DateValue 3 91 date 10 7 0 10 1 <null> <null> <null> <null> <null> 9 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between TimeValue 3 92 time 8 7 0 10 1 <null> <null> <null> <null> <null> 10 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between TimestampValue 3 93 timestamp 29 7 0 10 1 <null> <null> <null> <null> <null> 11 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between BooleanValue 3 -7 boolean 1 1 0 10 1 <null> <null> <null> <null> <null> 12 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between CharValue 3 1 char 1 1 0 10 1 <null> <null> <null> <null> <null> 13 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between ShortValue 3 5 short 8 5 0 10 1 <null> <null> <null> <null> <null> 14 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between BigIntegerValue 3 2 biginteger 19 28 0 10 1 <null> <null> <null> <null> <null> 15 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between BigDecimalValue 3 2 bigdecimal 20 126 0 10 1 <null> <null> <null> <null> <null> 16 YES sp_rows_between
+QT_Ora9DS SP sp_rows_between ObjectValue 3 2000 object 2147483647 2048 0 10 1 <null> <null> <null> <null> <null> 17 YES sp_rows_between
+QT_Ora9DS SYS getXMLSchemas document 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO getXMLSchemas
+QT_Ora9DS SYS getXMLSchemas schema 3 2009 xml 2147483647 2147483647 0 10 1 <null> <null> <null> <null> <null> 1 YES getXMLSchemas
+QT_Ora9DS SYSADMIN isLoggable level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO isLoggable
+QT_Ora9DS SYSADMIN isLoggable context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO isLoggable
+QT_Ora9DS SYSADMIN isLoggable loggable 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO isLoggable
+QT_Ora9DS SYSADMIN logMsg level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO logMsg
+QT_Ora9DS SYSADMIN logMsg context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO logMsg
+QT_Ora9DS SYSADMIN logMsg msg 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 4 NO logMsg
+QT_Ora9DS SYSADMIN logMsg logged 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO logMsg
+QT_Ora9DS SYSADMIN refreshMatView ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatView
+QT_Ora9DS SYSADMIN refreshMatView Invalidate 1 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatView
+QT_Ora9DS SYSADMIN refreshMatView RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatView
+QT_Ora9DS SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
+QT_Ora9DS SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
+QT_Ora9DS SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
+QT_Ora9DS SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
+QT_Ora9DS SYSADMIN setProperty UID 1 12 string 4000 50 0 10 0 <null> <null> <null> <null> <null> 2 NO setProperty
+QT_Ora9DS SYSADMIN setProperty Name 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO setProperty
+QT_Ora9DS SYSADMIN setProperty Value 1 2005 clob 2147483647 2097152 0 10 1 <null> <null> <null> <null> <null> 4 YES setProperty
+QT_Ora9DS SYSADMIN setProperty OldValue 5 2005 clob 2147483647 2097152 0 10 0 <null> <null> <null> <null> <null> 1 NO setProperty
+QT_Ora9DS SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
+QT_Ora9DS SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
Row Count : 68
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
@@ -77,8 +77,8 @@
COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer <null> <null> 11 10 0 false false false true 1 false true true true
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS ProcedureParams 25 25 0 false true false false 0 true true true false
-PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION integer <null> <null> 11 10 0 false false false true 1 false true true true
-LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer PRECISION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
+TypeLength 4 QT_Ora9DS java.lang.Integer LENGTH integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
SCALE 5 QT_Ora9DS java.lang.Short SCALE short <null> <null> 6 5 0 false false false true 1 false true true true
Radix 4 QT_Ora9DS java.lang.Integer RADIX integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE integer <null> <null> 11 10 0 false false false true 1 false true true true
@@ -90,8 +90,8 @@
Position 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE string <null> <null> 4000 4000 0 false false false true 1 false true true true
ProcedureName 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS ProcedureParams 255 255 0 false true false false 0 true true false false
-string string string string short integer string integer integer short integer integer string string string string string integer string string
-VDBName SchemaName ProcedureName Name COLUMN_TYPE DATA_TYPE DataType PRECISION LENGTH SCALE Radix NULLABLE Description COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH Position IS_NULLABLE ProcedureName
+string string string string short integer string integer integer short integer integer string string string string string integer string string
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME COLUMN_NAME COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
@@ -101,8 +101,8 @@
COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer <null> <null> 11 10 0 false false false true 1 false true true true
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS ProcedureParams 25 25 0 false true false false 0 true true true false
-PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION integer <null> <null> 11 10 0 false false false true 1 false true true true
-LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer PRECISION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
+TypeLength 4 QT_Ora9DS java.lang.Integer LENGTH integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
SCALE 5 QT_Ora9DS java.lang.Short SCALE short <null> <null> 6 5 0 false false false true 1 false true true true
Radix 4 QT_Ora9DS java.lang.Integer RADIX integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE integer <null> <null> 11 10 0 false false false true 1 false true true true
@@ -114,8 +114,8 @@
Position 4 QT_Ora9DS java.lang.Integer ORDINAL_POSITION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
IS_NULLABLE 12 QT_Ora9DS java.lang.String IS_NULLABLE string <null> <null> 4000 4000 0 false false false true 1 false true true true
ProcedureName 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS ProcedureParams 255 255 0 false true false false 0 true true false false
-string string string string short integer string integer integer short integer integer string string string string string integer string string
-VDBName SchemaName ProcedureName Name COLUMN_TYPE DATA_TYPE DataType PRECISION LENGTH SCALE Radix NULLABLE Description COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH Position IS_NULLABLE ProcedureName
+string string string string short integer string integer integer short integer integer string string string string string integer string string
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME COLUMN_NAME COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
@@ -125,8 +125,8 @@
COLUMN_TYPE 5 QT_Ora9DS java.lang.Short COLUMN_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer <null> <null> 11 10 0 false false false true 1 false true true true
DataType 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS ProcedureParams 25 25 0 false true false false 0 true true true false
-PRECISION 4 QT_Ora9DS java.lang.Integer PRECISION integer <null> <null> 11 10 0 false false false true 1 false true true true
-LENGTH 4 QT_Ora9DS java.lang.Integer LENGTH integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 QT_Ora9DS java.lang.Integer PRECISION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
+TypeLength 4 QT_Ora9DS java.lang.Integer LENGTH integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
SCALE 5 QT_Ora9DS java.lang.Short SCALE short <null> <null> 6 5 0 false false false true 1 false true true true
Radix 4 QT_Ora9DS java.lang.Integer RADIX integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE integer <null> <null> 11 10 0 false false false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
QT_Ora9DS SP sp_all_smalla_rows <null> <null> <null> <null> 2 sp_all_smalla_rows
QT_Ora9DS SP sp_count_all_smalla_rows <null> <null> <null> <null> 1 sp_count_all_smalla_rows
QT_Ora9DS SP sp_count_rows_between <null> <null> <null> <null> 1 sp_count_rows_between
@@ -24,7 +24,7 @@
PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
Name 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS Procedures 255 255 0 false true false false 0 true true false false
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
@@ -37,7 +37,7 @@
PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
Name 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS Procedures 255 255 0 false true false false 0 true true false false
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
QT_Ora9DS SP sp_all_smalla_rows <null> <null> <null> <null> 2 sp_all_smalla_rows
QT_Ora9DS SP sp_count_all_smalla_rows <null> <null> <null> <null> 1 sp_count_all_smalla_rows
QT_Ora9DS SP sp_count_rows_between <null> <null> <null> <null> 1 sp_count_rows_between
@@ -24,7 +24,7 @@
PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
Name 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS Procedures 255 255 0 false true false false 0 true true false false
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
@@ -37,7 +37,7 @@
PROCEDURE_TYPE 5 QT_Ora9DS java.lang.Short PROCEDURE_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
Name 12 QT_Ora9DS java.lang.String SPECIFIC_NAME string SYS Procedures 255 255 0 false true false false 0 true true false false
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string
-Name VDBName
+TABLE_SCHEM TABLE_CATALOG
BQT1 QT_Ora9DS
BQT2 QT_Ora9DS
SP QT_Ora9DS
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
QT_Ora9DS XQTDoc BQTDocTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
QT_Ora9DS XQTDoc choiceTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
QT_Ora9DS XQTDoc defaultValueTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
@@ -150,7 +150,7 @@
REF_GENERATION 12 QT_Ora9DS java.lang.String REF_GENERATION string <null> <null> 4000 4000 0 false false false true 1 false true true true
IsPhysical -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL boolean SYS Tables 5 1 0 false true false false 0 true true false false
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Tables 255 255 0 false true false true 1 false true true true
@@ -165,7 +165,7 @@
REF_GENERATION 12 QT_Ora9DS java.lang.String REF_GENERATION string <null> <null> 4000 4000 0 false false false true 1 false true true true
IsPhysical -7 QT_Ora9DS java.lang.Boolean ISPHYSICAL boolean SYS Tables 5 1 0 false true false false 0 true true false false
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Tables 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
QT_Ora9DS XQTDoc BQTDocTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
QT_Ora9DS XQTDoc choiceTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
QT_Ora9DS XQTDoc defaultValueTestDocument DOCUMENT <null> <null> <null> <null> <null> <null> false
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTable.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
Row Count : 0
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Tables 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableMultipleTypes.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
QT_Ora9DS BQT1 HugeA TABLE <null> <null> <null> <null> <null> <null> true
QT_Ora9DS BQT1 HugeB TABLE <null> <null> <null> <null> <null> <null> true
QT_Ora9DS BQT1 LargeA TABLE <null> <null> <null> <null> <null> <null> true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_specificTableTypes.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
QT_Ora9DS BQT1 HugeA TABLE <null> <null> <null> <null> <null> <null> true
QT_Ora9DS BQT1 HugeB TABLE <null> <null> <null> <null> <null> <null> true
QT_Ora9DS BQT1 LargeA TABLE <null> <null> <null> <null> <null> <null> true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTypeInfo_TotalNumber.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -17,8 +17,9 @@
timestamp 93 29 {ts' } <null> 1 false 3 true true false timestamp 0 255 <null> <null> 0
object 2000 2147483647 <null> <null> <null> 1 false 3 true true false object 0 255 <null> <null> 0
blob 2004 2147483647 <null> <null> <null> 1 false 3 true true false blob 0 255 <null> <null> 0
+varbinary -3 8192 X' ' <null> 1 false 3 true true false varbinary 0 255 <null> <null> 0
clob 2005 2147483647 <null> <null> <null> 1 false 3 true true false clob 0 255 <null> <null> 0
-Row Count : 18
+Row Count : 19
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TYPE_NAME 12 QT_Ora9DS java.lang.String TYPE_NAME string SYS DataTypes 4000 4000 0 false false false false 0 true true false false
DATA_TYPE 4 QT_Ora9DS java.lang.Integer DATA_TYPE integer SYS DataTypes 11 10 0 false false false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,266 +1,266 @@
-string string string string short string integer string integer integer integer string string string string integer integer string string string string !
string string
-VDBName SchemaName TableName Name DATA_TYPE DataType COLUMN_SIZE BUFFER_LENGTH Scale Radix NULLABLE Description DefaultValue SQL_DATA_TYPE SQL_DATETIME_SUB CharOctetLength Position IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE !
SOURCE_DATA_TYPE IS_AUTOINCREMENT
-PartsSupplier SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews SchemaName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews TargetSchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews LoadState 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 12 string 4 <null> 0 10 0 <null> <null> <null> <null> 4 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_COLOR 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 5 short 2 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 5 short 2 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 5 short 2 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 12 string 2 <null> 0 10 1 <null> <null> <null> <null> 2 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 12 string 4 <null> 0 10 0 <null> <null> <null> <null> 4 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 5 short 3 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 5 short 2 <null> 0 10 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams UID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 14 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 15 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties ClobValue 2005 clob 2097152 <null> 0 10 1 <null> <null> <null> <null> 2097152 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas Name 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN VDBResources resourcePath 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_datatype oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_datatype typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_datatype name 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_datatype uid 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_datatype typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt autoinc -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog matpg_relatt typoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_am oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_am amname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attrdef adrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attrdef adnum 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attrdef adbin 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attrdef adsrc 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute atttypid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute atttypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attnotnull -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute attisdropped -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_attribute atthasdef -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relkind 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relam 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class reltuples 7 float 20 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relpages 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relhasrules -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_class relhasoids -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database encoding 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datlastsysoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datallowconn 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datconfig 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datacl 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database datdba 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_database dattablespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indexrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indisclustered -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indisunique -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indisprimary -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indexprs 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_index indkey 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_namespace oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_namespace nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proretset -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc prorettype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc pronargs 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proargnames 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proargmodes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc proallargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_proc pronamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgconstrrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgfoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgnargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgdeferrable -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tginitdeferred -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgconstrname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_trigger tgrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typtype 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typbasetype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typtypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_type typelem 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_user oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_user usename 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_user usecreatedb -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
-PartsSupplier pg_catalog pg_user usesuper -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+string string string string integer string integer string integer integer integer string string string string integer integer string string string string !
string string
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TAB!
LE SOURCE_DATA_TYPE IS_AUTOINCREMENT
+PartsSupplier SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews VDBName 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews SchemaName 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews Name 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews TargetSchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews LoadState 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 4 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_NAME 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_COLOR 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 30 3 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 5 short 2 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 5 short 2 <null> 0 10 0 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 30 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 5 short 2 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 30 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 2 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 12 string 4000 <null> 0 10 0 <null> <null> <null> <null> 4 2 NO <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 5 short 3 <null> 0 10 1 <null> <null> <null> <null> 0 3 YES <null> <null> <null> !
<null> NO
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 5 short 2 <null> 0 10 1 <null> <null> <null> <null> 0 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams UID 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 50 14 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams Description 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 15 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures Description 12 string 225 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Properties ClobValue 2005 clob 2097152 <null> 0 10 1 <null> <null> <null> <null> 2097152 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_CAT 12 string 1 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_CAT 12 string 1 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas VDBName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas Name 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables VDBName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables SchemaName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN VDBResources resourcePath 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 NO <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_datatype oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_datatype typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_datatype name 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_datatype uid 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_datatype typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt autoinc -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog matpg_relatt typoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_am oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_am amname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attrdef adrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attrdef adnum 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attrdef adbin 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attrdef adsrc 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute atttypid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attnum 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute atttypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attnotnull -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute attisdropped -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_attribute atthasdef -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relkind 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relam 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class reltuples 7 float 20 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relpages 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relhasrules -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_class relhasoids -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database encoding 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datlastsysoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datallowconn 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datconfig 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datacl 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database datdba 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_database dattablespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indexrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indisclustered -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indisunique -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indisprimary -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indexprs 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_index indkey 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_namespace oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_namespace nspname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proretset -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc prorettype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc pronargs 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proargnames 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proargmodes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc proallargtypes 2000 object 2147483647 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_proc pronamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 10 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgconstrrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgfoid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgnargs 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgdeferrable -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tginitdeferred -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgconstrname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_trigger tgrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typname 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typnamespace 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typlen 5 short 5 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typtype 1 char 1 <null> 0 0 2 <null> <null> <null> <null> 0 5 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typbasetype 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 6 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typtypmod 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 7 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typrelid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 8 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_type typelem 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 9 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_user oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_user usename 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_user usecreatedb -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
+PartsSupplier pg_catalog pg_user usesuper -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
Row Count : 252
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
TableName 12 PartsSupplier java.lang.String TABLE_NAME string SYS Columns 255 255 0 false true false false 0 true true false false
Name 12 PartsSupplier java.lang.String COLUMN_NAME string SYS Columns 255 255 0 false false false false 0 true true false false
-DATA_TYPE 5 PartsSupplier java.lang.Short DATA_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
+Length 4 PartsSupplier java.lang.Integer DATA_TYPE integer SYS Columns 11 10 0 false false false false 0 true true false false
DataType 12 PartsSupplier java.lang.String TYPE_NAME string SYS Columns 100 100 0 false true false false 0 true true true false
-COLUMN_SIZE 4 PartsSupplier java.lang.Integer COLUMN_SIZE integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 PartsSupplier java.lang.Integer COLUMN_SIZE integer SYS Columns 11 10 0 false false false false 0 true true false false
BUFFER_LENGTH 12 PartsSupplier java.lang.String BUFFER_LENGTH string <null> <null> 4000 4000 0 false false false true 1 false true true true
Scale 4 PartsSupplier java.lang.Integer DECIMAL_DIGITS integer SYS Columns 11 10 0 false false false false 0 true true false false
Radix 4 PartsSupplier java.lang.Integer NUM_PREC_RADIX integer SYS Columns 11 10 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfo.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfo.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfo.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string boolean string string integer short string string integer integer string
-VDBName SchemaName TableName NON_UNIQUE INDEX_QUALIFIER KeyName TYPE ORDINAL_POSITION Name ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
+TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION
PartsSupplier pg_catalog matpg_relatt true <null> idx_matpg_relatt_ids 0 1 attrelid <null> 0 1 <null>
PartsSupplier pg_catalog matpg_relatt true <null> idx_matpg_relatt_ids 0 2 attnum <null> 0 1 <null>
PartsSupplier pg_catalog matpg_datatype true <null> matpg_datatype_ids 0 1 typname <null> 0 1 <null>
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testPrimaryKeys.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testPrimaryKeys.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testPrimaryKeys.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string short string
-VDBName SchemaName TableName Name KEY_SEQ KeyName
+TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME
PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 1 PK_PARTS
PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 2 PK_SUPPLIER_PARTS
PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 1 PK_SHIP_VIA
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,32 +1,32 @@
-string string string string short integer string integer integer short integer integer string string string string string integer string string
-VDBName SchemaName ProcedureName Name COLUMN_TYPE DATA_TYPE DataType PRECISION LENGTH SCALE Radix NULLABLE Description COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH Position IS_NULLABLE ProcedureName
-PartsSupplier SYS getXMLSchemas document 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO getXMLSchemas
-PartsSupplier SYS getXMLSchemas schema 3 2009 xml 2147483647 2147483647 0 10 1 <null> <null> <null> <null> <null> 1 YES getXMLSchemas
-PartsSupplier SYSADMIN isLoggable level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO isLoggable
-PartsSupplier SYSADMIN isLoggable context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO isLoggable
-PartsSupplier SYSADMIN isLoggable loggable 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO isLoggable
-PartsSupplier SYSADMIN logMsg level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO logMsg
-PartsSupplier SYSADMIN logMsg context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO logMsg
-PartsSupplier SYSADMIN logMsg msg 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 4 NO logMsg
-PartsSupplier SYSADMIN logMsg logged 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO logMsg
-PartsSupplier SYSADMIN refreshMatView ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatView
-PartsSupplier SYSADMIN refreshMatView Invalidate 1 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatView
-PartsSupplier SYSADMIN refreshMatView RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatView
-PartsSupplier SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
-PartsSupplier SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
-PartsSupplier SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
-PartsSupplier SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
-PartsSupplier SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
-PartsSupplier SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
-PartsSupplier SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
-PartsSupplier SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
-PartsSupplier SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
-PartsSupplier SYSADMIN setProperty UID 1 12 string 4000 50 0 10 0 <null> <null> <null> <null> <null> 2 NO setProperty
-PartsSupplier SYSADMIN setProperty Name 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO setProperty
-PartsSupplier SYSADMIN setProperty Value 1 2005 clob 2147483647 2097152 0 10 1 <null> <null> <null> <null> <null> 4 YES setProperty
-PartsSupplier SYSADMIN setProperty OldValue 5 2005 clob 2147483647 2097152 0 10 0 <null> <null> <null> <null> <null> 1 NO setProperty
-PartsSupplier SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
-PartsSupplier SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
+string string string string short integer string integer integer short integer integer string string string string string integer string string
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME COLUMN_NAME COLUMN_TYPE DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SPECIFIC_NAME
+PartsSupplier SYS getXMLSchemas document 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO getXMLSchemas
+PartsSupplier SYS getXMLSchemas schema 3 2009 xml 2147483647 2147483647 0 10 1 <null> <null> <null> <null> <null> 1 YES getXMLSchemas
+PartsSupplier SYSADMIN isLoggable level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO isLoggable
+PartsSupplier SYSADMIN isLoggable context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO isLoggable
+PartsSupplier SYSADMIN isLoggable loggable 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO isLoggable
+PartsSupplier SYSADMIN logMsg level 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO logMsg
+PartsSupplier SYSADMIN logMsg context 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO logMsg
+PartsSupplier SYSADMIN logMsg msg 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 4 NO logMsg
+PartsSupplier SYSADMIN logMsg logged 5 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 1 NO logMsg
+PartsSupplier SYSADMIN refreshMatView ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatView
+PartsSupplier SYSADMIN refreshMatView Invalidate 1 -7 boolean 1 1 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatView
+PartsSupplier SYSADMIN refreshMatView RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatView
+PartsSupplier SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
+PartsSupplier SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
+PartsSupplier SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
+PartsSupplier SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
+PartsSupplier SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
+PartsSupplier SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
+PartsSupplier SYSADMIN setProperty UID 1 12 string 4000 50 0 10 0 <null> <null> <null> <null> <null> 2 NO setProperty
+PartsSupplier SYSADMIN setProperty Name 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 3 NO setProperty
+PartsSupplier SYSADMIN setProperty Value 1 2005 clob 2147483647 2097152 0 10 1 <null> <null> <null> <null> <null> 4 YES setProperty
+PartsSupplier SYSADMIN setProperty OldValue 5 2005 clob 2147483647 2097152 0 10 0 <null> <null> <null> <null> <null> 1 NO setProperty
+PartsSupplier SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
+PartsSupplier SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
Row Count : 27
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
@@ -36,8 +36,8 @@
COLUMN_TYPE 5 PartsSupplier java.lang.Short COLUMN_TYPE short <null> <null> 6 5 0 false false false true 1 false true true true
DATA_TYPE 4 PartsSupplier java.lang.Integer DATA_TYPE integer <null> <null> 11 10 0 false false false true 1 false true true true
DataType 12 PartsSupplier java.lang.String TYPE_NAME string SYS ProcedureParams 25 25 0 false true false false 0 true true true false
-PRECISION 4 PartsSupplier java.lang.Integer PRECISION integer <null> <null> 11 10 0 false false false true 1 false true true true
-LENGTH 4 PartsSupplier java.lang.Integer LENGTH integer <null> <null> 11 10 0 false false false true 1 false true true true
+Precision 4 PartsSupplier java.lang.Integer PRECISION integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
+TypeLength 4 PartsSupplier java.lang.Integer LENGTH integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
SCALE 5 PartsSupplier java.lang.Short SCALE short <null> <null> 6 5 0 false false false true 1 false true true true
Radix 4 PartsSupplier java.lang.Integer RADIX integer SYS ProcedureParams 11 10 0 false false false false 0 true true false false
NULLABLE 4 PartsSupplier java.lang.Integer NULLABLE integer <null> <null> 11 10 0 false false false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string short string
-VDBName SchemaName Name RESERVED_1 RESERVED_2 RESERVED_3 Description PROCEDURE_TYPE Name
+PROCEDURE_CAT PROCEDURE_SCHEM PROCEDURE_NAME RESERVED_1 RESERVED_2 RESERVED_3 REMARKS PROCEDURE_TYPE SPECIFIC_NAME
PartsSupplier SYS getXMLSchemas <null> <null> <null> <null> 2 getXMLSchemas
PartsSupplier SYSADMIN isLoggable <null> <null> <null> <null> 1 isLoggable
PartsSupplier SYSADMIN logMsg <null> <null> <null> <null> 1 logMsg
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string
-Name VDBName
+TABLE_SCHEM TABLE_CATALOG
PartsSupplier PartsSupplier
SYS PartsSupplier
SYSADMIN PartsSupplier
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -1,5 +1,5 @@
string string string string string string string string string string boolean
-VDBName SchemaName Name TABLE_TYPE Description TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION IsPhysical
+TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION ISPHYSICAL
PartsSupplier SYS Columns SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
PartsSupplier SYS DataTypes SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
PartsSupplier SYS KeyColumns SYSTEM TABLE <null> <null> <null> <null> <null> <null> true
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTypeInfo.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -17,8 +17,9 @@
timestamp 93 29 {ts' } <null> 1 false 3 true true false timestamp 0 255 <null> <null> 0
object 2000 2147483647 <null> <null> <null> 1 false 3 true true false object 0 255 <null> <null> 0
blob 2004 2147483647 <null> <null> <null> 1 false 3 true true false blob 0 255 <null> <null> 0
+varbinary -3 8192 X' ' <null> 1 false 3 true true false varbinary 0 255 <null> <null> 0
clob 2005 2147483647 <null> <null> <null> 1 false 3 true true false clob 0 255 <null> <null> 0
-Row Count : 18
+Row Count : 19
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TYPE_NAME 12 PartsSupplier java.lang.String TYPE_NAME string SYS DataTypes 4000 4000 0 false false false false 0 true true false false
DATA_TYPE 4 PartsSupplier java.lang.Integer DATA_TYPE integer SYS DataTypes 11 10 0 false false false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected 2012-01-23 16:18:22 UTC (rev 3812)
+++ trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected 2012-01-23 18:52:20 UTC (rev 3813)
@@ -52,7 +52,8 @@
unsignedInt false false unsignedInt java.lang.Long 0 0 No Nulls false false false 0 0 Searchable mmuuid:badcbd80-ba63-1e21-b812-969c8fc8b016 long unsignedLong <null> 50
unsignedLong false false unsignedLong java.math.BigInteger 0 0 No Nulls false false false 0 0 Searchable mmuuid:54b98780-ba14-1e21-b812-969c8fc8b016 biginteger nonNegativeInteger <null> 51
unsignedShort false false unsignedShort java.lang.Integer 0 0 No Nulls false false false 0 0 Searchable mmuuid:327093c0-ba88-1e21-b812-969c8fc8b016 integer unsignedInt <null> 52
-Row Count : 52
+varbinary false false varbinary org.teiid.core.types.BinaryType 0 0 No Nulls false false false 0 0 Searchable mmuuid:182fd511-1a3e-447a-a6ea-72569d6a22ec varbinary base64Binary <null> 53
+Row Count : 53
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
Name 12 PartsSupplier java.lang.String Name string SYS DataTypes 100 100 0 false true false false 0 true true true false
IsStandard -7 PartsSupplier java.lang.Boolean IsStandard boolean SYS DataTypes 5 1 0 false true false false 1 true true true false
12 years, 11 months
teiid SVN: r3812 - branches.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-23 11:18:22 -0500 (Mon, 23 Jan 2012)
New Revision: 3812
Added:
branches/7.7.x/
Log:
adding 7.7.x branch
12 years, 11 months
teiid SVN: r3811 - in branches/7.6.x/engine/src: test/java/org/teiid/dqp/internal/process/multisource and 1 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-22 09:57:11 -0500 (Sun, 22 Jan 2012)
New Revision: 3811
Modified:
branches/7.6.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
branches/7.6.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
Log:
TEIID-1904 fix for expression evaluation error in multi-source planning
Modified: branches/7.6.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java
===================================================================
--- branches/7.6.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-01-21 01:54:31 UTC (rev 3810)
+++ branches/7.6.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourcePlanToProcessConverter.java 2012-01-22 14:57:11 UTC (rev 3811)
@@ -156,11 +156,14 @@
try {
command = QueryRewriter.rewrite(command, metadata, null);
instanceNode.setCommand(command);
+ if (!instanceNode.isShouldEvaluate()) {
+ instanceNode.minimizeProject(command);
+ }
} catch(QueryValidatorException e) {
// ignore and use original command
}
- if (!RelationalNodeUtil.shouldExecute(command, false)) {
+ if (!RelationalNodeUtil.shouldExecute(command, false, true)) {
continue;
}
@@ -271,7 +274,7 @@
DeepPreOrderNavigator.doVisit(command, new MultiSourceElementReplacementVisitor(sourceName));
}
- if (!RelationalNodeUtil.shouldExecute(command, false)) {
+ if (!RelationalNodeUtil.shouldExecute(command, false, true)) {
return null;
}
Modified: branches/7.6.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
===================================================================
--- branches/7.6.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-01-21 01:54:31 UTC (rev 3810)
+++ branches/7.6.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2012-01-22 14:57:11 UTC (rev 3811)
@@ -40,6 +40,7 @@
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.optimizer.QueryOptimizer;
import org.teiid.query.optimizer.TestOptimizer;
+import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
import org.teiid.query.optimizer.capabilities.CapabilitiesFinder;
import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder;
import org.teiid.query.processor.HardcodedDataManager;
@@ -53,6 +54,7 @@
import org.teiid.query.sql.visitor.ElementCollectorVisitor;
import org.teiid.query.unittest.RealMetadataFactory;
import org.teiid.query.util.CommandContext;
+import org.teiid.translator.SourceSystemFunctions;
/**
* It's important here that the MultiSourceCapabilityFinder is used since some capabilities
@@ -60,6 +62,7 @@
*
* @since 4.2
*/
+@SuppressWarnings("nls")
public class TestMultiSourcePlanToProcessConverter {
private final class MultiSourceDataManager extends HardcodedDataManager {
@@ -83,10 +86,14 @@
}
private static final boolean DEBUG = false;
+
+ public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb) throws Exception {
+ helpTestMultiSourcePlan(metadata, userSql, multiModel, sourceCount, dataMgr, expectedResults, vdb, null);
+ }
- public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List[] expectedResults, VDBMetaData vdb) throws Exception {
+ public void helpTestMultiSourcePlan(QueryMetadataInterface metadata, String userSql, String multiModel, int sourceCount, ProcessorDataManager dataMgr, List<?>[] expectedResults, VDBMetaData vdb, List<?> params) throws Exception {
- DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
+ DQPWorkContext dqpContext = RealMetadataFactory.buildWorkContext(metadata, vdb);
Set<String> multiSourceModels = vdb.getMultiSourceModelNames();
for (String model:multiSourceModels) {
@@ -107,7 +114,9 @@
// Plan
command = QueryRewriter.rewrite(command, wrapper, null);
FakeCapabilitiesFinder fakeFinder = new FakeCapabilitiesFinder();
- fakeFinder.addCapabilities(multiModel, TestOptimizer.getTypicalCapabilities());
+ BasicSourceCapabilities bsc = TestOptimizer.getTypicalCapabilities();
+ bsc.setFunctionSupport(SourceSystemFunctions.CONCAT, true);
+ fakeFinder.addCapabilities(multiModel, bsc);
CapabilitiesFinder finder = new MultiSourceCapabilitiesFinder(fakeFinder, multiSourceModels);
@@ -123,8 +132,10 @@
System.out.println("\nMultiSource Plan:"); //$NON-NLS-1$
System.out.println(plan);
}
-
- TestProcessor.helpProcess(plan, context, dataMgr, expectedResults);
+ if (params != null) {
+ TestProcessor.setParameterValues(params, command, context);
+ }
+ TestProcessor.helpProcess(plan, context, dataMgr, expectedResults);
}
@Test public void testNoReplacement() throws Exception {
@@ -132,7 +143,7 @@
final String userSql = "SELECT * FROM MultiModel.Phys WHERE SOURCE_NAME = 'bogus'"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
- final List[] expected =
+ final List<?>[] expected =
new List[0];
final ProcessorDataManager dataMgr = new MultiSourceDataManager();
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
@@ -143,22 +154,34 @@
final String userSql = "SELECT * FROM MultiModel.Phys WHERE SOURCE_NAME = 'a'"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
- final List[] expected =
- new List[] { Arrays.asList(new Object[] { null, null, null}) };
+ final List<?>[] expected =
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}) };
final HardcodedDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(false);
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
+ @Test public void testPreparedReplacement() throws Exception {
+ final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
+ final String userSql = "SELECT * FROM MultiModel.Phys WHERE SOURCE_NAME = ?"; //$NON-NLS-1$
+ final String multiModel = "MultiModel"; //$NON-NLS-1$
+ final int sources = 2;
+ final List<?>[] expected =
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}) };
+ final HardcodedDataManager dataMgr = new MultiSourceDataManager();
+ dataMgr.setMustRegisterCommands(false);
+ helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB(), Arrays.asList("a"));
+ }
+
@Test public void testMultiReplacement() throws Exception {
final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
final String userSql = "SELECT * FROM MultiModel.Phys"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected =
- new List[] { Arrays.asList(new Object[] { null, null, null}),
- Arrays.asList(new Object[] { null, null, null}),
- Arrays.asList(new Object[] { null, null, null})};
+ final List<?>[] expected =
+ new List<?>[] { Arrays.asList(new Object[] { null, null, "a"}),
+ Arrays.asList(new Object[] { null, null, "b"}),
+ Arrays.asList(new Object[] { null, null, "c"})};
final ProcessorDataManager dataMgr = new MultiSourceDataManager();
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -166,44 +189,44 @@
@Test public void testMultiReplacementWithOrderBy() throws Exception {
QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
- final String userSql = "SELECT * FROM MultiModel.Phys order by a"; //$NON-NLS-1$
+ final String userSql = "SELECT a, b, source_name || a FROM MultiModel.Phys order by a"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
- final List[] expected = new List[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ final List<?>[] expected = new List<?>[] {
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
};
final HardcodedDataManager dataMgr = new HardcodedDataManager();
- dataMgr.addData("SELECT g_0.a, g_0.b, 'a' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List[] {
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- dataMgr.addData("SELECT g_0.a, g_0.b, 'b' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('a', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('b', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@Test public void testMultiReplacementWithLimit() throws Exception {
final QueryMetadataInterface metadata = RealMetadataFactory.exampleMultiBinding();
- final String userSql = "SELECT distinct * FROM MultiModel.Phys order by a limit 1"; //$NON-NLS-1$
+ final String userSql = "SELECT distinct a, b, source_name || a FROM MultiModel.Phys order by a limit 1"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
- final List[] expected = new List[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ final List<?>[] expected = new List<?>[] {
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
};
final HardcodedDataManager dataMgr = new HardcodedDataManager();
- dataMgr.addData("SELECT g_0.a, g_0.b, 'a' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List[] {
- Arrays.asList("y", "z", "a"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("x", "z", "a")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- dataMgr.addData("SELECT g_0.a, g_0.b, 'b' FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List[] {
- Arrays.asList("e", "z", "b"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- Arrays.asList("f", "z", "b")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('a', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("y", "z", "ay"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("x", "z", "ax")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ dataMgr.addData("SELECT g_0.a, g_0.b, concat('b', g_0.a) FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
+ new List<?>[] {
+ Arrays.asList("e", "z", "be"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Arrays.asList("f", "z", "bf")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -213,8 +236,8 @@
final String userSql = "SELECT a.a FROM MultiModel.Phys a inner join MultiModel.Phys b makedep on (a.a = b.a) order by a"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 2;
- final List[] expected =
- new List[] { Arrays.asList(new Object[] { "x"}), //$NON-NLS-1$
+ final List<?>[] expected =
+ new List<?>[] { Arrays.asList(new Object[] { "x"}), //$NON-NLS-1$
Arrays.asList(new Object[] { "x"}), //$NON-NLS-1$
Arrays.asList(new Object[] { "x"}), //$NON-NLS-1$
Arrays.asList(new Object[] { "x"}), //$NON-NLS-1$
@@ -225,10 +248,10 @@
final HardcodedDataManager dataMgr = new HardcodedDataManager();
dataMgr.addData("SELECT g_0.a FROM MultiModel.Phys AS g_0", //$NON-NLS-1$
- new List[] { Arrays.asList(new Object[] { "x" }), //$NON-NLS-1$
+ new List<?>[] { Arrays.asList(new Object[] { "x" }), //$NON-NLS-1$
Arrays.asList(new Object[] { "y" })}); //$NON-NLS-1$
dataMgr.addData("SELECT g_0.a FROM MultiModel.Phys AS g_0 WHERE g_0.a IN ('x', 'y')", //$NON-NLS-1$
- new List[] { Arrays.asList(new Object[] { "x" }), //$NON-NLS-1$
+ new List<?>[] { Arrays.asList(new Object[] { "x" }), //$NON-NLS-1$
Arrays.asList(new Object[] { "y" })}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -238,7 +261,7 @@
final String userSql = "exec Virt.sq1('a')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(new Object[] { null, null}), };
+ final List<?>[] expected = new List<?>[] { Arrays.asList(new Object[] { null, null}), };
final ProcessorDataManager dataMgr = new MultiSourceDataManager();
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -248,7 +271,7 @@
final String userSql = "exec Virt.sq1(null)"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[0];
+ final List<?>[] expected = new List[0];
final ProcessorDataManager dataMgr = new MultiSourceDataManager();
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -258,10 +281,10 @@
final String userSql = "update MultiModel.Phys set a = '1' where b = 'z'"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(3)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(3)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
- dataMgr.addData("UPDATE MultiModel.Phys SET a = '1' WHERE b = 'z'", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
+ dataMgr.addData("UPDATE MultiModel.Phys SET a = '1' WHERE b = 'z'", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -270,10 +293,10 @@
final String userSql = "INSERT INTO MultiModel.Phys(a, SOURCE_NAME) VALUES ('a', 'a')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(1)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(1)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
- dataMgr.addData("INSERT INTO MultiModel.Phys (a) VALUES ('a')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
+ dataMgr.addData("INSERT INTO MultiModel.Phys (a) VALUES ('a')", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -282,7 +305,7 @@
final String userSql = "INSERT INTO MultiModel.Phys(a, SOURCE_NAME) VALUES ('a', 'x')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(0)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(0)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
@@ -293,10 +316,10 @@
final String userSql = "INSERT INTO MultiModel.Phys(a) VALUES ('a')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(3)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(3)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
- dataMgr.addData("INSERT INTO MultiModel.Phys (a) VALUES ('a')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
+ dataMgr.addData("INSERT INTO MultiModel.Phys (a) VALUES ('a')", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -305,10 +328,10 @@
final String userSql = "exec MultiModel.proc('b', 'a')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(1)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(1)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
- dataMgr.addData("EXEC MultiModel.proc('b')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
+ dataMgr.addData("EXEC MultiModel.proc('b')", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
@@ -317,10 +340,10 @@
final String userSql = "exec MultiModel.proc(\"in\"=>'b')"; //$NON-NLS-1$
final String multiModel = "MultiModel"; //$NON-NLS-1$
final int sources = 3;
- final List[] expected = new List[] { Arrays.asList(1), Arrays.asList(1), Arrays.asList(1)};
+ final List<?>[] expected = new List<?>[] { Arrays.asList(1), Arrays.asList(1), Arrays.asList(1)};
final MultiSourceDataManager dataMgr = new MultiSourceDataManager();
dataMgr.setMustRegisterCommands(true);
- dataMgr.addData("EXEC MultiModel.proc('b')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
+ dataMgr.addData("EXEC MultiModel.proc('b')", new List<?>[] {Arrays.asList(1)}); //$NON-NLS-1$
helpTestMultiSourcePlan(metadata, userSql, multiModel, sources, dataMgr, expected, RealMetadataFactory.exampleMultiBindingVDB());
}
Modified: branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-21 01:54:31 UTC (rev 3810)
+++ branches/7.6.x/engine/src/test/java/org/teiid/query/processor/TestProcessor.java 2012-01-22 14:57:11 UTC (rev 3811)
@@ -5208,14 +5208,19 @@
ProcessorPlan plan = helpGetPlan(command, metadata, capFinder, context);
// Collect reference, set value
- VariableContext vc = new VariableContext();
+ setParameterValues(values, command, context);
+ // Run query
+ helpProcess(plan, context, dataManager, expected);
+ }
+
+ public static void setParameterValues(List<?> values, Command command,
+ CommandContext context) {
+ VariableContext vc = new VariableContext();
Iterator<?> valIter = values.iterator();
for (Reference ref : ReferenceCollectorVisitor.getReferences(command)) {
vc.setGlobalValue(ref.getContextSymbol(), valIter.next()); //$NON-NLS-1$
}
context.setVariableContext(vc);
- // Run query
- helpProcess(plan, context, dataManager, expected);
}
/** defect 15348
12 years, 11 months
teiid SVN: r3810 - in branches/7.6.x/engine/src: test/java/org/teiid/query/sql/visitor and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-01-20 20:54:31 -0500 (Fri, 20 Jan 2012)
New Revision: 3810
Modified:
branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
Log:
TEII-1907 ensuring visit node will be called for select
Modified: branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-20 22:01:56 UTC (rev 3809)
+++ branches/7.6.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2012-01-21 01:54:31 UTC (rev 3810)
@@ -779,8 +779,26 @@
public void visit( Query obj ) {
addCacheHint(obj.getCacheHint());
addWithClause(obj);
+ append(SELECT);
+
+ SourceHint sh = obj.getSourceHint();
+ if (sh != null) {
+ append(SPACE);
+ append(BEGIN_HINT);
+ append("sh"); //$NON-NLS-1$
+ if (sh.getGeneralHint() != null) {
+ appendSourceHintValue(sh.getGeneralHint());
+ }
+ if (sh.getSourceHints() != null) {
+ for (Map.Entry<String, String> entry : sh.getSourceHints().entrySet()) {
+ append(entry.getKey());
+ appendSourceHintValue(entry.getValue());
+ }
+ }
+ append(END_HINT);
+ }
if (obj.getSelect() != null) {
- visitDirect(obj.getSelect(), obj);
+ visitNode(obj.getSelect());
}
if (obj.getInto() != null) {
@@ -868,31 +886,6 @@
}
public void visit( Select obj ) {
- visitDirect(obj, null);
- }
-
- private void visitDirect(Select obj, Query query) {
- append(SELECT);
-
- if (query != null) {
- SourceHint sh = query.getSourceHint();
- if (sh != null) {
- append(SPACE);
- append(BEGIN_HINT);
- append("sh"); //$NON-NLS-1$
- if (sh.getGeneralHint() != null) {
- appendSourceHintValue(sh.getGeneralHint());
- }
- if (sh.getSourceHints() != null) {
- for (Map.Entry<String, String> entry : sh.getSourceHints().entrySet()) {
- append(entry.getKey());
- appendSourceHintValue(entry.getValue());
- }
- }
- append(END_HINT);
- }
- }
-
if (obj.isDistinct()) {
append(SPACE);
append(DISTINCT);
Modified: branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java
===================================================================
--- branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-01-20 22:01:56 UTC (rev 3809)
+++ branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestExpressionMappingVisitor.java 2012-01-21 01:54:31 UTC (rev 3810)
@@ -180,7 +180,7 @@
ExpressionMappingVisitor.mapExpressions(toMap, map);
- assertEquals("Did not get expected mapped expression", "SELECT z.X", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("Did not get expected mapped expression", " z.X", toMap.toString()); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
Modified: branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java
===================================================================
--- branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-01-20 22:01:56 UTC (rev 3809)
+++ branches/7.6.x/engine/src/test/java/org/teiid/query/sql/visitor/TestSQLStringVisitor.java 2012-01-21 01:54:31 UTC (rev 3810)
@@ -708,7 +708,7 @@
Select select = new Select();
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
- helpTest(select, "SELECT e1"); //$NON-NLS-1$
+ helpTest(select, " e1"); //$NON-NLS-1$
}
@Test public void testSelect2() {
@@ -716,7 +716,7 @@
select.setDistinct(true);
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
- helpTest(select, "SELECT DISTINCT e1"); //$NON-NLS-1$
+ helpTest(select, " DISTINCT e1"); //$NON-NLS-1$
}
@Test public void testSelect3() {
@@ -724,7 +724,7 @@
select.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
select.addSymbol(new ElementSymbol("e2")); //$NON-NLS-1$
- helpTest(select, "SELECT e1, e2"); //$NON-NLS-1$
+ helpTest(select, " e1, e2"); //$NON-NLS-1$
}
@Test public void testSetCriteria1() {
12 years, 11 months
teiid SVN: r3809 - trunk/build/assembly/adminshell.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2012-01-20 17:01:56 -0500 (Fri, 20 Jan 2012)
New Revision: 3809
Modified:
trunk/build/assembly/adminshell/adminshell-dist.xml
Log:
TEIID-1898
Modified: trunk/build/assembly/adminshell/adminshell-dist.xml
===================================================================
--- trunk/build/assembly/adminshell/adminshell-dist.xml 2012-01-20 21:54:10 UTC (rev 3808)
+++ trunk/build/assembly/adminshell/adminshell-dist.xml 2012-01-20 22:01:56 UTC (rev 3809)
@@ -60,7 +60,7 @@
<fileSet>
<directory>target</directory>
<includes>
- <include>teiid-${project.version}-client.jar</include>
+ <include>teiid-${project.version}-jdbc.jar</include>
</includes>
<outputDirectory>lib</outputDirectory>
<fileMode>0644</fileMode>
12 years, 11 months
teiid SVN: r3808 - in trunk/build: kits/jboss-as7/modules/org/jboss/teiid and 3 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2012-01-20 16:54:10 -0500 (Fri, 20 Jan 2012)
New Revision: 3808
Added:
trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/
trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/
trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/module.xml
Modified:
trunk/build/assembly/jboss-as7/dist.xml
trunk/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml
Log:
TEIID-1720: moving the "admin" into its own module so that users can use the dependency to "admin" easily. Also added "as.cli" as its dependency, which is not used by Teiid code internally but for external user who is using admin api does not need to define it separately.
Modified: trunk/build/assembly/jboss-as7/dist.xml
===================================================================
--- trunk/build/assembly/jboss-as7/dist.xml 2012-01-20 21:49:18 UTC (rev 3807)
+++ trunk/build/assembly/jboss-as7/dist.xml 2012-01-20 21:54:10 UTC (rev 3808)
@@ -139,7 +139,7 @@
<binaries>
<includeDependencies>false</includeDependencies>
<unpack>false</unpack>
- <outputDirectory>modules/org/jboss/teiid/main</outputDirectory>
+ <outputDirectory>modules/org/jboss/teiid/admin/main</outputDirectory>
</binaries>
</moduleSet>
Added: trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/module.xml
===================================================================
--- trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/module.xml (rev 0)
+++ trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/module.xml 2012-01-20 21:54:10 UTC (rev 3808)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module xmlns="urn:jboss:module:1.0" name="org.jboss.teiid.admin">
+ <resources>
+ <resource-root path="teiid-admin-${project.version}.jar" />
+ </resources>
+
+ <dependencies>
+ <module name="org.jboss.teiid.common-core" />
+ <module name="org.jboss.teiid.client" />
+ <module name="javax.api" />
+ <module name="org.jboss.as.cli"/>
+ </dependencies>
+
+</module>
\ No newline at end of file
Property changes on: trunk/build/kits/jboss-as7/modules/org/jboss/teiid/admin/main/module.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml
===================================================================
--- trunk/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml 2012-01-20 21:49:18 UTC (rev 3807)
+++ trunk/build/kits/jboss-as7/modules/org/jboss/teiid/main/module.xml 2012-01-20 21:54:10 UTC (rev 3808)
@@ -2,14 +2,10 @@
<module xmlns="urn:jboss:module:1.0" name="org.jboss.teiid">
<resources>
<resource-root path="teiid-engine-${project.version}.jar" />
- <!--
- <resource-root path="teiid-cache-jbosscache-${project.version}.jar" />
- -->
<resource-root path="teiid-jboss-integration-${project.version}.jar" />
<resource-root path="teiid-metadata-${project.version}.jar" />
<resource-root path="teiid-runtime-${project.version}.jar" />
<resource-root path="teiid-engine-${project.version}.jar" />
- <resource-root path="teiid-admin-${project.version}.jar" />
<resource-root path="saxonhe-9.2.1.5.jar" />
<resource-root path="json-simple-1.1.jar" />
<resource-root path="xom-1.2.jar" />
@@ -22,6 +18,7 @@
<module name="org.jboss.teiid.common-core" />
<module name="org.jboss.teiid.api" />
<module name="org.jboss.teiid.client" />
+ <module name="org.jboss.teiid.admin" />
<module name="javax.api" />
<module name="javax.resource.api"/>
<module name="org.jboss.logging" />
12 years, 11 months