teiid SVN: r3006 - in trunk: build/kits/jboss-container/deploy/teiid and 9 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-18 10:45:33 -0400 (Fri, 18 Mar 2011)
New Revision: 3006
Modified:
trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
trunk/build/kits/jboss-container/teiid-releasenotes.html
trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java
trunk/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml
trunk/documentation/admin-guide/src/main/docbook/en-US/content/performance.xml
trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java
trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java
trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/PartitionedSortJoin.java
trunk/engine/src/main/java/org/teiid/query/processor/relational/SortUtility.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestSubqueryCompareCriteriaImpl.java
trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java
Log:
TEIID-1509 changing the default for value caching and cleaning up internal memory handling to use more precise byte estimates
Modified: trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
===================================================================
--- trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2011-03-18 14:45:33 UTC (rev 3006)
@@ -25,18 +25,15 @@
<!-- The max row count of a batch from a connector. Should be even multiple of processorBatchSize. (default 1024) -->
<property name="connectorBatchSize">1024</property>
<!--
- The number of batch columns to allow in memory (default 16384).
- This value should be set lower or higher depending on the available memory to Teiid in the VM.
- 16384 is considered a good default for a dedicated 32-bit VM running Teiid with a 1 gig heap.
+ The number of batch columns to allow in buffer memory. -1 means to automatically calculate a value (default -1).
See the admin guide for more.
-->
- <property name="maxReserveBatchColumns">16384</property>
+ <property name="maxReserveBatchColumns">-1</property>
<!--
- The number of batch columns guaranteed to a processing operation. Set this value lower if the workload typically
- processes larger numbers of concurrent queries with large intermediate results from operations such as sorting,
- grouping, etc. (default 128)
+ The number of batch columns guaranteed to a processing operation. -1 means to automatically calculate a value (default -1).
+ See the admin guide for more.
-->
- <property name="maxProcessingBatchesColumns">128</property>
+ <property name="maxProcessingBatchesColumns">-1</property>
<!-- Max File size in MB (default 2GB)-->
<property name="maxFileSize">2048</property>
<!-- Max storage space, in MB, to be used for buffer files (default 50G) -->
Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-03-18 14:45:33 UTC (rev 3006)
@@ -41,6 +41,7 @@
<LI><B>InterSystems Cache</B> - InterSystems Cache database translator is now available to use as supported source under Teiid.
<LI><B>userRequestSourceConcurrency</B> - was added to control the number of concurrent source queries allowed for each user request.
<LI><B>Dependent Join Improvements</B> - dependent join analysis and costing in general was improved to consider dependent joins earlier in planning.
+ <LI><B>Memory Management Improvements</B> - maxReserveBatchColumns and maxProcessingBatchesColumns will be default be determined automatically and will more reliably prevent memory issues. See the admin guide for more.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
@@ -108,7 +109,9 @@
<h4>from 7.3</h4>
<ul>
- <LI>SocketConfiguration.maxSocketThreads will interpret a setting of 0 to mean use the system default of max available processors.
+ <LI>SocketConfiguration.maxSocketThreads will interpret a setting of 0 to mean use the system default of max available processors.
+ <LI>maxReserveBatchColumns and maxProcessingBatchesColumns will interpret a setting of -1 to mean auto-calculate acceptable values given the max heap and other information. See the admin guide for more.
+ <LI>The default for org.teiid.useValueCache has changed to false, since typical installations will not greatly benefit from the additional lookup cost.
</ul>
<h4>from 7.2</h4>
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 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/common-core/src/main/java/org/teiid/core/types/DataTypeManager.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -78,7 +78,7 @@
*/
public class DataTypeManager {
- private static final boolean USE_VALUE_CACHE = PropertiesUtils.getBooleanProperty(System.getProperties(), "org.teiid.useValueCache", true); //$NON-NLS-1$
+ private static final boolean USE_VALUE_CACHE = PropertiesUtils.getBooleanProperty(System.getProperties(), "org.teiid.useValueCache", false); //$NON-NLS-1$
private static boolean valueCacheEnabled;
@@ -488,19 +488,20 @@
dataTypeNames.put(DataTypeAliases.TINYINT, DefaultDataClasses.BYTE);
dataTypeNames.put(DataTypeAliases.VARCHAR, DefaultDataClasses.STRING);
+ valueMaps.put(DefaultDataClasses.BOOLEAN, new ValueCache<Boolean>() {
+ @Override
+ public Boolean getValue(Boolean value) {
+ return Boolean.valueOf(value);
+ }
+ });
+ valueMaps.put(DefaultDataClasses.BYTE, new ValueCache<Byte>() {
+ @Override
+ public Byte getValue(Byte value) {
+ return Byte.valueOf(value);
+ }
+ });
+
if (USE_VALUE_CACHE) {
- valueMaps.put(DefaultDataClasses.BOOLEAN, new ValueCache<Boolean>() {
- @Override
- public Boolean getValue(Boolean value) {
- return Boolean.valueOf(value);
- }
- });
- valueMaps.put(DefaultDataClasses.BYTE, new ValueCache<Byte>() {
- @Override
- public Byte getValue(Byte value) {
- return Byte.valueOf(value);
- }
- });
valueMaps.put(DefaultDataClasses.SHORT, new HashedValueCache<Short>(13));
valueMaps.put(DefaultDataClasses.CHAR, new HashedValueCache<Character>(13));
valueMaps.put(DefaultDataClasses.INTEGER, new HashedValueCache<Integer>(14));
@@ -797,13 +798,13 @@
valueCacheEnabled = enabled;
}
- public static boolean isValueCacheEnabled() {
+ public static final boolean isValueCacheEnabled() {
return valueCacheEnabled;
}
@SuppressWarnings("unchecked")
public static <T> T getCanonicalValue(T value) {
- if (USE_VALUE_CACHE && valueCacheEnabled) {
+ if (valueCacheEnabled) {
if (value == null) {
return null;
}
Modified: trunk/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml
===================================================================
--- trunk/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml 2011-03-18 14:45:33 UTC (rev 3006)
@@ -12,10 +12,11 @@
<para><emphasis>org.teiid.allowNanInfinity</emphasis> - defaults to false. Set to true to allow numeric functions
to return NaN (Not A Number) and +-Infinity. Note that these values are not covered by the SQL specification.</para>
</listitem>
- <listitem>
- <para><emphasis>org.teiid.useValueCache</emphasis> - defaults to true. Set to false to disable the value cache.
- Value caching is used dynamically when buffer memory is running low to reuse identical values, but at a computational cost.
- If there is memory available, you should first increase the buffer memory rather than disabling value caching.</para>
+ <listitem id="value_caching">
+ <para><emphasis>org.teiid.useValueCache</emphasis> - defaults to false. Set to true to enable the canonical value cache.
+ Value caching is used dynamically when buffer memory is consumed to reuse identical values and thus reduce the memory consumed by Teiid.
+ There is a computation cost associated with the cache lookup, so enabling this setting is not appropriate for installations handling large volumes of dissimilar data.
+ </para>
</listitem>
<listitem>
<para><emphasis>org.teiid.ansiQuotedIdentifiers</emphasis> - defaults to true.
Modified: trunk/documentation/admin-guide/src/main/docbook/en-US/content/performance.xml
===================================================================
--- trunk/documentation/admin-guide/src/main/docbook/en-US/content/performance.xml 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/documentation/admin-guide/src/main/docbook/en-US/content/performance.xml 2011-03-18 14:45:33 UTC (rev 3006)
@@ -19,33 +19,44 @@
</para>
<para>
The <code>maxReserveBatchColumns</code>
- setting determines the total number of batches (with a max of
- <code>processorBatchSize</code> rows) multiplied by their column width
- that can be held in memory directly by the BufferManager.
+ setting determines the total size of batches that can be held by the BufferManager in memory.
This number does not include persistent batches held by soft (such as
- index pages) or weak references. When your installation can dedicate
- more memory to Teiid, consider increasing this value in proportion to the number of gigabytes you
- wish Teiid to use - e.g. 2GB on a 32 bit VM would double the value to
- 32768. For 64 bit VMs you should use a value of approximately 11000
- per GB.
- The BufferManager automatically triggers the use of a canonical
- value cache when more than 25% of the reserve is in use.
+ index pages) or weak references.
+ The value is treated internally as an approximation of bytes using the conversion
+ <code>maxReserveBatchColumns</code> * <code>processorBatchSize</code> * (64bytes per column value).
+ The default value of -1 will auto-calculate a typical max based upon the max heap available to the VM.
+ The auto-calculated value assumes a 64bit architecture and will limit buffer usage to 50% of the first
+ gigabyte of memory beyond the first 300 megabytes (which are assumed for use by the AS and other Teiid purposes)
+ and 75% of the memory beyond that.
+ </para>
+ <para>
+ The BufferManager automatically triggers the use of a canonical
+ value cache if enabled when more than 25% of the reserve is in use.
This can dramatically cut the memory usage in situations where similar
value sets are being read through Teiid, but does introduce a lookup cost.
- If you are processing large (100s of MBs) of highly unique datasets
- through Teiid, you should consider <link linkend="system_properties">disabling value caching</link> since it
- will not significantly reduce memory consumption.
- <note>
- <para>The formula (average bytes per value)*(processor batch size)*(maxReserveBatchColumns) approximates the amount of
- reserve memory used by the BufferManager. The defaults with an assumed value (8 bytes in 32 bit mode) for bytes per column
- works out to be: 8 bytes * 512 * 16384 = 64MB. Memory consumption can be significantly more or less
- depending upon actual column values and whether value caching is enabled. The 8 bytes per column includes row/batch list overhead and
- represents the Java type memory foot print (e.g. java.lang.Integer not a raw 4 byte integer).
- The nominal target of 64MB per 1 gigabyte of may be too low based upon the particulars of your usage. Raising the maxReserveBatchColumns
- value too high though may result in out of memory errors.</para>
- </note>
+ If you are processing small or highly similar datasets
+ through Teiid, and wish to conserve memory, you should consider <link linkend="value_caching">enabling value caching</link>.
</para>
+ <note>
+ <para>Memory consumption can be significantly more or less than the nominal target
+ depending upon actual column values and whether value caching is enabled. Large strings, bigintegers, bigdecimals, or values typed as object can exceed their default size estimate.
+ If an out of memory errors occur, then set a lower the maxReserveBatchColumns value.
+ </para>
+ </note>
<para>
+ The <code>maxProcessingBatchesColumns</code>
+ setting determines the total size of batches that can be used by active plans regardless of the memory held based on <code>maxReserveBatchColumns</code>.
+ The value is treated internally as an approximation of bytes using the conversion
+ <code>maxProcessingBatchesColumns</code> * <code>processorBatchSize</code> * (64bytes per column value).
+ The default value of -1 will auto-calculate a typical max based upon the max heap available to the VM and max active plans.
+ The auto-calculated value assumes a 64bit architecture and will limit processing batch usage to 10% of memory
+ beyond the first 300 megabytes (which are assumed for use by the AS and other Teiid purposes).
+ </para>
+ <para>
+ In systems where large intermediate results are normal (scrolling cursors or sorting over millions of rows) you can consider increasing the <code>maxProcessingBatchColumns</code> and decreasing
+ the <code>maxReserveBatchColumns</code> so that each request has access to an effectively smaller buffer space.
+ </para>
+ <para>
Each intermediate result buffer, temporary LOB, and temporary table
is stored in its own set of buffer files,
where an individual file is
@@ -59,10 +70,11 @@
<section>
<title>Threading</title>
<para>Socket threads are configured for each <link linkend="socket_transport">transport</link>.
- They handle NIO non-blocking IO operations as well as directly servicing any operation that can run without blocking.</para>
- <para>For longer running operations, the socket threads queue with work the query engine.
- The query engine has two settings that determine its thread utilization.
+ They handle NIO non-blocking IO operations as well as directly servicing any operation that can run without blocking.
+ For longer running operations, the socket threads queue with work the query engine.</para>
+ <para>The query engine has several settings that determine its thread utilization.
+
<code>maxThreads</code> sets the total number of threads available for query engine work (processing plans, transaction control operations, processing source queries, etc.).
You should consider increasing the maximum threads on systems with a large number of available processors and/or when it's common to issue non-transactional queries with that
issue a large number of concurrent source requests.
@@ -93,14 +105,16 @@
<title>Socket Transports</title>
<para>Teiid separates the configuration of its socket transports for
JDBC, ODBC, and Admin access.
- Typical installations will not need to
- adjust the default thread and buffer
- size settings.
+ Typical installations will not need to adjust the default thread and buffer size settings.
+ The default input output buffer sizes are set to 0, which will use the system default.
+ Before adjusting this value keep in mind that each JDBC, ODBC, and Admin client will create a new socket connection.
+ Setting these values to a large buffer size should only be done if the number of client is constrained.
All JDBC socket operations are non-blocking, so setting the number of maxThreads
- higher than the maximum effective parallelism of the machine will not result in greater performance. The default value 0 for JDBC socket threads will
- set the max to the number of available processors.
- At this time, ODBC
- queries are executed synchronously from the socket thread.
+ higher than the maximum effective parallelism of the machine should not result in greater performance.
+ The default value 0 for JDBC socket threads will set the max to the number of available processors.
+ </para>
+ <para>
+ At this time, ODBC queries are executed synchronously from the socket thread.
Simultaneous long-running queries may exhaust the available threads.
Consider increasing the default max threads (15) for ODBC if you
expect a higher concurrent load of long-running ODBC client queries.</para>
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/BufferManager.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -25,6 +25,7 @@
import java.util.List;
import org.teiid.core.TeiidComponentException;
+import org.teiid.query.sql.symbol.Expression;
/**
@@ -50,21 +51,25 @@
}
public enum BufferReserveMode {
+ /**
+ * Claim unused buffers up to the amount requested, using a progressive decaying algorithm
+ */
WAIT,
+ /**
+ * Claim all of the buffers requested, even if they are not available, without waiting
+ */
FORCE,
+ /**
+ * Claim unused buffers up to the amount requested witout waiting
+ */
NO_WAIT
}
public static int DEFAULT_CONNECTOR_BATCH_SIZE = 1024;
public static int DEFAULT_PROCESSOR_BATCH_SIZE = 512;
- public static int DEFAULT_MAX_PROCESSING_BATCHES = 128;
+ public static int DEFAULT_MAX_PROCESSING_BATCHES = -1;
+ public static int DEFAULT_RESERVE_BUFFERS = -1;
- /**
- * This is the maximum number of batch columns used for processing.
- * See {@link #reserveBuffers(int, boolean)}
- */
- public static int DEFAULT_RESERVE_BUFFERS = 16384;
-
/**
* Get the batch size to use during query processing.
* @return Batch size (# of rows)
@@ -81,11 +86,11 @@
throws TeiidComponentException;
/**
- * Return the maximum number of batches that can be temporarily held potentially
+ * Return the maximum KB that can be temporarily held potentially
* across even a blocked exception.
* @return
*/
- int getMaxProcessingBatchColumns();
+ int getMaxProcessingKB();
/**
* Creates a new {@link FileStore}. See {@link FileStore#setCleanupReference(Object)} to
@@ -110,13 +115,19 @@
void releaseBuffers(int count);
/**
- * Get the size estimate for the given schema.
+ * Get the size estimate in KB for the given schema.
*/
- int getSchemaSize(List elements);
+ int getSchemaSize(List<? extends Expression> elements);
STree createSTree(final List elements, String groupName, int keyLength);
void addTupleBuffer(TupleBuffer tb);
- TupleBuffer getTupleBuffer(String id);
+ TupleBuffer getTupleBuffer(String id);
+
+ /**
+ * Set the maxActivePlans as a hint at determining the maxProcessingKB
+ * @param maxActivePlans
+ */
+ void setMaxActivePlans(int maxActivePlans);
}
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -61,6 +61,7 @@
import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.Assertion;
+import org.teiid.dqp.internal.process.DQPConfiguration;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.query.QueryPlugin;
@@ -86,6 +87,7 @@
*/
public class BufferManagerImpl implements BufferManager, StorageManager {
+ private static final double KB_PER_VALUE = 64d/1024;
private static final int IO_BUFFER_SIZE = 1 << 14;
private static final int COMPACTION_THRESHOLD = 1 << 25; //start checking at 32 megs
@@ -384,8 +386,11 @@
private int processorBatchSize = BufferManager.DEFAULT_PROCESSOR_BATCH_SIZE;
private int maxProcessingBatches = BufferManager.DEFAULT_MAX_PROCESSING_BATCHES;
private int maxReserveBatchColumns = BufferManager.DEFAULT_RESERVE_BUFFERS;
- private volatile int reserveBatchColumns = BufferManager.DEFAULT_RESERVE_BUFFERS;
-
+ private int maxProcessingKB;
+ private int maxReserveBatchKB;
+ private volatile int reserveBatchKB;
+ private int maxActivePlans = DQPConfiguration.DEFAULT_MAX_ACTIVE_PLANS; //used as a hint to set the reserveBatchKB
+
private ReentrantLock lock = new ReentrantLock(true);
private Condition batchesFreed = lock.newCondition();
@@ -421,12 +426,12 @@
}
@Override
- public int getMaxProcessingBatchColumns() {
- return maxProcessingBatches;
+ public int getMaxProcessingKB() {
+ return maxProcessingKB;
}
public void setMaxProcessingBatchColumns(int maxProcessingBatches) {
- this.maxProcessingBatches = Math.max(0, maxProcessingBatches);
+ this.maxProcessingBatches = maxProcessingBatches;
}
/**
@@ -498,10 +503,32 @@
LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, "Creating FileStore:", name); //$NON-NLS-1$
return this.diskMgr.createFileStore(name);
}
+
+ public void setMaxActivePlans(int maxActivePlans) {
+ this.maxActivePlans = maxActivePlans;
+ }
@Override
public void initialize() throws TeiidComponentException {
-
+ int maxMemory = (int)Math.min(Runtime.getRuntime().maxMemory() / 1024, Integer.MAX_VALUE);
+ if (maxReserveBatchColumns < 0) {
+ this.maxReserveBatchKB = 0;
+ maxMemory -= 300 * 1024; //assume 300 megs of overhead for the AS/system stuff
+ int one_gig = 1024 * 1024;
+ if (maxMemory > one_gig) {
+ //assume 75% of the memory over the first gig
+ this.maxReserveBatchKB += (int)Math.max(0, (maxMemory - one_gig) * .75);
+ }
+ this.maxReserveBatchKB += Math.max(0, Math.min(one_gig, maxMemory) * .5);
+ } else {
+ this.maxReserveBatchKB = Math.max(0, (int)Math.min(maxReserveBatchColumns * KB_PER_VALUE * processorBatchSize, Integer.MAX_VALUE));
+ }
+ this.reserveBatchKB = this.maxReserveBatchKB;
+ if (this.maxProcessingBatches < 0) {
+ this.maxProcessingKB = (int)(.1 * maxMemory)/maxActivePlans;
+ } else {
+ this.maxProcessingKB = Math.max(0, (int)Math.min(maxProcessingBatches * KB_PER_VALUE * processorBatchSize, Integer.MAX_VALUE));
+ }
}
@Override
@@ -511,7 +538,7 @@
}
lock.lock();
try {
- this.reserveBatchColumns += count;
+ this.reserveBatchKB += count;
batchesFreed.signalAll();
} finally {
lock.unlock();
@@ -524,7 +551,7 @@
try {
if (mode == BufferReserveMode.WAIT) {
int waitCount = 0;
- while (count - waitCount > this.reserveBatchColumns) {
+ while (count - waitCount > this.reserveBatchKB) {
try {
batchesFreed.await(100, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
@@ -533,12 +560,12 @@
waitCount++;
}
}
- if (this.reserveBatchColumns >= count || mode == BufferReserveMode.FORCE) {
- this.reserveBatchColumns -= count;
+ if (this.reserveBatchKB >= count || mode == BufferReserveMode.FORCE) {
+ this.reserveBatchKB -= count;
return count;
}
- int result = Math.max(0, this.reserveBatchColumns);
- this.reserveBatchColumns -= result;
+ int result = Math.max(0, this.reserveBatchKB);
+ this.reserveBatchKB -= result;
return result;
} finally {
lock.unlock();
@@ -547,8 +574,8 @@
}
void persistBatchReferences() {
- if (activeBatchColumnCount == 0 || activeBatchColumnCount <= reserveBatchColumns) {
- int memoryCount = activeBatchColumnCount + maxReserveBatchColumns - reserveBatchColumns;
+ if (activeBatchColumnCount == 0 || activeBatchColumnCount <= reserveBatchKB) {
+ int memoryCount = activeBatchColumnCount + maxReserveBatchColumns - reserveBatchKB;
if (DataTypeManager.isValueCacheEnabled()) {
if (memoryCount < maxReserveBatchColumns / 8) {
DataTypeManager.setValueCacheEnabled(false);
@@ -561,7 +588,7 @@
while (true) {
ManagedBatchImpl mb = null;
synchronized (activeBatches) {
- if (activeBatchColumnCount == 0 || activeBatchColumnCount * 5 < reserveBatchColumns * 4) {
+ if (activeBatchColumnCount == 0 || activeBatchColumnCount * 5 < reserveBatchKB * 4) {
break;
}
Iterator<TupleBufferInfo> iter = activeBatches.values().iterator();
@@ -588,47 +615,49 @@
}
@Override
- public int getSchemaSize(List elements) {
+ public int getSchemaSize(List<? extends Expression> elements) {
int total = 0;
+ boolean isValueCacheEnabled = DataTypeManager.isValueCacheEnabled();
//we make a assumption that the average column size under 64bits is approximately 128bytes
//this includes alignment, row/array, and reference overhead
- for (Object element : elements) {
- Class<?> type = ((Expression)element).getType();
+ for (Expression element : elements) {
+ Class<?> type = element.getType();
if (type == DataTypeManager.DefaultDataClasses.STRING) {
- total += 256; //assumes an "average" string length of approximately 100 chars
+ total += isValueCacheEnabled?100:256; //assumes an "average" string length of approximately 100 chars
} else if (type == DataTypeManager.DefaultDataClasses.DATE
|| type == DataTypeManager.DefaultDataClasses.TIME
|| type == DataTypeManager.DefaultDataClasses.TIMESTAMP) {
- total += 32;
+ total += isValueCacheEnabled?20:28;
} else if (type == DataTypeManager.DefaultDataClasses.LONG
|| type == DataTypeManager.DefaultDataClasses.DOUBLE) {
- total += 20;
+ total += isValueCacheEnabled?12:16;
} else if (type == DataTypeManager.DefaultDataClasses.INTEGER
|| type == DataTypeManager.DefaultDataClasses.FLOAT) {
- total += 14;
+ total += isValueCacheEnabled?6:12;
} else if (type == DataTypeManager.DefaultDataClasses.CHAR
|| type == DataTypeManager.DefaultDataClasses.SHORT) {
- total += 10;
- } else if (type == DataTypeManager.DefaultDataClasses.BOOLEAN
- || type == DataTypeManager.DefaultDataClasses.BYTE
- || type == DataTypeManager.DefaultDataClasses.NULL) {
- //even if value caching is turned off we don't bother counting
- //the additional references that may exist to boolean and byte values
- total += 8;
+ total += isValueCacheEnabled?4:10;
} else if (type == DataTypeManager.DefaultDataClasses.OBJECT) {
total += 1024;
+ } else if (type == DataTypeManager.DefaultDataClasses.NULL) {
+ //it's free
+ } else if (type == DataTypeManager.DefaultDataClasses.BYTE) {
+ total += 2; //always value cached
+ } else if (type == DataTypeManager.DefaultDataClasses.BOOLEAN) {
+ total += 1; //always value cached
} else {
total += 512; //assumes buffer overhead in the case of lobs
//however the account for lobs is misleading as the lob
//references are not actually removed from memory
}
}
- return Math.max(1, total/128);
+ total += 8*elements.size() + 36; // column list / row overhead
+ total *= processorBatchSize;
+ return Math.max(1, total / 1024);
}
public void setMaxReserveBatchColumns(int maxReserve) {
this.maxReserveBatchColumns = maxReserve;
- this.reserveBatchColumns = maxReserve;
}
public void shutdown() {
@@ -652,7 +681,7 @@
private void cleanDefunctTupleBuffers() {
while (true) {
- Reference r = this.tupleBufferQueue.poll();
+ Reference<?> r = this.tupleBufferQueue.poll();
if (r == null) {
break;
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -58,6 +58,7 @@
import org.teiid.common.buffer.BufferManager;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
+import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.types.Streamable;
import org.teiid.dqp.internal.process.ThreadReuseExecutor.PrioritizedRunnable;
import org.teiid.dqp.message.AtomicRequestMessage;
@@ -683,6 +684,14 @@
LogManager.logWarning(LogConstants.CTX_DQP, QueryPlugin.Util.getString("DQPCore.invalid_max_active_plan", this.maxActivePlans, config.getMaxThreads())); //$NON-NLS-1$
this.maxActivePlans = config.getMaxThreads();
}
+
+ //hack to set the max active plans
+ this.bufferManager.setMaxActivePlans(this.maxActivePlans);
+ try {
+ this.bufferManager.initialize();
+ } catch (TeiidComponentException e) {
+ throw new TeiidRuntimeException(e);
+ }
this.userRequestSourceConcurrency = config.getUserRequestSourceConcurrency();
if (this.userRequestSourceConcurrency < 1) {
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 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/MetaDataProcessor.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -217,7 +217,7 @@
}
private Map createXMLColumnMetadata(Query xmlCommand) {
- GroupSymbol doc = (GroupSymbol) xmlCommand.getFrom().getGroups().get(0);
+ GroupSymbol doc = xmlCommand.getFrom().getGroups().get(0);
Map xmlMetadata = getDefaultColumn(doc.getName(), ResultsMetadataDefaults.XML_COLUMN_NAME, XMLType.class);
// Override size as XML may be big
@@ -238,7 +238,7 @@
private Map createElementMetadata(String shortColumnName, ElementSymbol symbol) throws QueryMetadataException, TeiidComponentException {
Object elementID = symbol.getMetadataID();
- Map column = new HashMap();
+ Map<Integer, Object> column = new HashMap<Integer, Object>();
column.put(ResultsMetadataConstants.AUTO_INCREMENTING, Boolean.valueOf(metadata.elementSupports(elementID, SupportConstants.Element.AUTO_INCREMENT)));
column.put(ResultsMetadataConstants.CASE_SENSITIVE, Boolean.valueOf(metadata.elementSupports(elementID, SupportConstants.Element.CASE_SENSITIVE)));
column.put(ResultsMetadataConstants.CURRENCY, Boolean.FALSE);
@@ -318,7 +318,7 @@
return getDefaultColumn(null, shortColumnName, symbol.getType());
}
- private int getColumnPrecision(Class dataType, Object elementID) throws QueryMetadataException, TeiidComponentException {
+ private int getColumnPrecision(Class<?> dataType, Object elementID) throws QueryMetadataException, TeiidComponentException {
if (!Number.class.isAssignableFrom(dataType)) {
int length = metadata.getElementLength(elementID);
if (length > 0) {
@@ -346,7 +346,7 @@
* @param dataType A string representing the MetaMatrix data type of the column
* @return An int value giving the displaysize of the column
*/
- private Integer getColumnDisplaySize(int precision, Class dataType, Object elementID) throws QueryMetadataException, TeiidComponentException {
+ private Integer getColumnDisplaySize(int precision, Class<?> dataType, Object elementID) throws QueryMetadataException, TeiidComponentException {
if(elementID != null && dataType.equals(DataTypeManager.DefaultDataClasses.STRING)) {
int length = metadata.getElementLength(elementID);
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -685,7 +685,17 @@
boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException;
+ /**
+ * Get the metadata without visibility and session tables
+ * @return
+ */
QueryMetadataInterface getDesignTimeMetadata();
+ /**
+ * Return true if a procedure exists with the given name (partial or fqn)
+ * @param name
+ * @return
+ * @throws TeiidComponentException
+ */
boolean hasProcedure(String name) throws TeiidComponentException;
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/PartitionedSortJoin.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/PartitionedSortJoin.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/PartitionedSortJoin.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -163,11 +163,11 @@
private boolean testAndSetPartitions(int rowCount, List elements) {
int partitionCount = (rowCount / this.joinNode.getBatchSize() + rowCount % this.joinNode.getBatchSize() == 0 ? 0:1)
* this.joinNode.getBufferManager().getSchemaSize(elements);
- if (partitionCount > this.joinNode.getBufferManager().getMaxProcessingBatchColumns() * 8) {
+ if (partitionCount > this.joinNode.getBufferManager().getMaxProcessingKB() * 8) {
return false;
}
int toReserve = Math.max(1, (int)(partitionCount * .75));
- int excess = Math.max(0, toReserve - this.joinNode.getBufferManager().getMaxProcessingBatchColumns());
+ int excess = Math.max(0, toReserve - this.joinNode.getBufferManager().getMaxProcessingKB());
reserved = this.joinNode.getBufferManager().reserveBuffers(toReserve - excess, BufferReserveMode.FORCE);
if (excess > 0) {
reserved += this.joinNode.getBufferManager().reserveBuffers(toReserve, BufferReserveMode.NO_WAIT);
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/SortUtility.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/SortUtility.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/SortUtility.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -203,7 +203,7 @@
//attempt to reserve more working memory if there are additional rows available before blocking
if (workingTuples.size() >= maxRows) {
int reserved = bufferManager.reserveBuffers(schemaSize,
- (totalReservedBuffers + schemaSize <= bufferManager.getMaxProcessingBatchColumns())?BufferReserveMode.FORCE:BufferReserveMode.NO_WAIT);
+ (totalReservedBuffers + schemaSize <= bufferManager.getMaxProcessingKB())?BufferReserveMode.FORCE:BufferReserveMode.NO_WAIT);
if (reserved != schemaSize) {
break;
}
@@ -268,7 +268,7 @@
TupleBuffer merged = createTupleBuffer();
int desiredSpace = activeTupleBuffers.size() * schemaSize;
- int reserved = Math.min(desiredSpace, this.bufferManager.getMaxProcessingBatchColumns());
+ int reserved = Math.min(desiredSpace, this.bufferManager.getMaxProcessingKB());
bufferManager.reserveBuffers(reserved, BufferReserveMode.FORCE);
if (desiredSpace > reserved) {
reserved += bufferManager.reserveBuffers(desiredSpace - reserved, BufferReserveMode.WAIT);
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestSubqueryCompareCriteriaImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestSubqueryCompareCriteriaImpl.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestSubqueryCompareCriteriaImpl.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -53,7 +53,7 @@
}
public static SubqueryComparison example() throws Exception {
- return (SubqueryComparison)TstLanguageBridgeFactory.factory.translate(helpExample());
+ return TstLanguageBridgeFactory.factory.translate(helpExample());
}
public void testGetExpression() throws Exception {
Modified: trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java
===================================================================
--- trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java 2011-03-18 13:03:31 UTC (rev 3005)
+++ trunk/runtime/src/test/java/org/teiid/dqp/service/buffer/TestLocalBufferService.java 2011-03-18 14:45:33 UTC (rev 3006)
@@ -24,10 +24,17 @@
import static org.junit.Assert.*;
+import java.util.ArrayList;
+import java.util.List;
+
import org.junit.Test;
+import org.teiid.common.buffer.BufferManager;
import org.teiid.common.buffer.impl.BufferManagerImpl;
import org.teiid.common.buffer.impl.FileStorageManager;
+import org.teiid.core.types.DataTypeManager;
import org.teiid.core.util.UnitTestUtil;
+import org.teiid.query.sql.symbol.Constant;
+import org.teiid.query.sql.symbol.Expression;
import org.teiid.services.BufferServiceImpl;
@SuppressWarnings("nls")
@@ -59,4 +66,32 @@
assertFalse(svc.isUseDisk());
}
+ @Test public void testSchemaSize() throws Exception {
+ //82 strings of Total Length 2515 charcacters
+ //11 Dates
+ //1 Long
+ //1 short
+ //20 bigdecimal with 671 total integers in them.
+ List<Expression> schema = new ArrayList<Expression>();
+ for (int i = 0; i <82; i++) {
+ schema.add(new Constant(null, DataTypeManager.DefaultDataClasses.STRING));
+ }
+ for (int i = 0; i <11; i++) {
+ schema.add(new Constant(null, DataTypeManager.DefaultDataClasses.DATE));
+ }
+ schema.add(new Constant(null, DataTypeManager.DefaultDataClasses.LONG));
+ schema.add(new Constant(null, DataTypeManager.DefaultDataClasses.SHORT));
+ for (int i = 0; i <20; i++) {
+ schema.add(new Constant(null, DataTypeManager.DefaultDataClasses.BIG_DECIMAL));
+ }
+
+ BufferServiceImpl svc = new BufferServiceImpl();
+ svc.setDiskDirectory(UnitTestUtil.getTestScratchPath()+"/teiid/1");
+ svc.setUseDisk(false);
+ svc.start();
+
+ BufferManager mgr = svc.getBufferManager();
+ assertEquals(16261, mgr.getSchemaSize(schema));
+ }
+
}
13 years, 2 months
teiid SVN: r3005 - branches/7.1.x/common-core/src/test/resources.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-18 09:03:31 -0400 (Fri, 18 Mar 2011)
New Revision: 3005
Removed:
branches/7.1.x/common-core/src/test/resources/testEmptiedZipFile.zip
branches/7.1.x/common-core/src/test/resources/testEmptyZipFile.zip
branches/7.1.x/common-core/src/test/resources/testZipFile.zip
Log:
TEIID-1514 removing unused test zips
Deleted: branches/7.1.x/common-core/src/test/resources/testEmptiedZipFile.zip
===================================================================
(Binary files differ)
Deleted: branches/7.1.x/common-core/src/test/resources/testEmptyZipFile.zip
===================================================================
Deleted: branches/7.1.x/common-core/src/test/resources/testZipFile.zip
===================================================================
(Binary files differ)
13 years, 2 months
teiid SVN: r3004 - in branches/7.1.x: runtime/src/main/java/org/teiid/odbc and 1 other directories.
by teiid-commits@lists.jboss.org
Author: rareddy
Date: 2011-03-17 17:20:12 -0400 (Thu, 17 Mar 2011)
New Revision: 3004
Modified:
branches/7.1.x/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
branches/7.1.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
Log:
TEIID-1515: Primary key reporting is fixed along with NOT NULL on the key metadata.
Modified: branches/7.1.x/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
===================================================================
--- branches/7.1.x/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java 2011-03-17 19:51:18 UTC (rev 3003)
+++ branches/7.1.x/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java 2011-03-17 21:20:12 UTC (rev 3004)
@@ -148,7 +148,7 @@
"pt.typlen as attlen, " + //$NON-NLS-1$
"convert(t1.Position, short) as attnum, " + //$NON-NLS-1$
"t1.Length as atttypmod, " + //$NON-NLS-1$
- "false as attnotnull, " + //$NON-NLS-1$
+ "CASE WHEN (t1.NullType = 'No Nulls') THEN true ELSE false END as attnotnull, " + //$NON-NLS-1$
"false as attisdropped, " + //$NON-NLS-1$
"false as atthasdef " + //$NON-NLS-1$
"FROM SYS.Columns as t1 LEFT OUTER JOIN " + //$NON-NLS-1$
Modified: branches/7.1.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
===================================================================
--- branches/7.1.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java 2011-03-17 19:51:18 UTC (rev 3003)
+++ branches/7.1.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java 2011-03-17 21:20:12 UTC (rev 3004)
@@ -56,7 +56,9 @@
"pg_catalog.pg_namespace n, pg_catalog.pg_class ic where tc.relname = E?'(\\w+)' AND n.nspname = E?'(\\w+)'.*" );//$NON-NLS-1$
- private static Pattern pkKeyPattern = Pattern.compile("select ta.attname, ia.attnum, ic.relname, n.nspname, NULL .*"); //$NON-NLS-1$
+ private static Pattern pkKeyPattern = Pattern.compile("select ta.attname, ia.attnum, ic.relname, n.nspname, NULL from " + //$NON-NLS-1$
+ "pg_catalog.pg_attribute ta, pg_catalog.pg_attribute ia, pg_catalog.pg_class ic, pg_catalog.pg_index i, " + //$NON-NLS-1$
+ "pg_catalog.pg_namespace n where ic.relname = E?'(\\w+)' AND n.nspname = E?'(\\w+)' .*"); //$NON-NLS-1$
private Pattern fkPattern = Pattern.compile("select\\s+'(\\w+)'::name as PKTABLE_CAT," + //$NON-NLS-1$
"\\s+n2.nspname as PKTABLE_SCHEM," + //$NON-NLS-1$
@@ -132,8 +134,6 @@
"and proname like E?'(\\w+)' " + //$NON-NLS-1$
"order by nspname, proname, p.oid, attnum"); //$NON-NLS-1$
-
-
private static Pattern deallocatePattern = Pattern.compile("DEALLOCATE \"(\\w+\\d+_*)\""); //$NON-NLS-1$
private static Pattern releasePattern = Pattern.compile("RELEASE (\\w+\\d+_*)"); //$NON-NLS-1$
private static Pattern savepointPattern = Pattern.compile("SAVEPOINT (\\w+\\d+_*)"); //$NON-NLS-1$
@@ -310,13 +310,25 @@
modified = new StringBuffer("SELECT k.Name AS attname, convert(Position, short) AS attnum, TableName AS relname, SchemaName AS nspname, TableName AS relname") //$NON-NLS-1$
.append(" FROM SYS.KeyColumns k") //$NON-NLS-1$
.append(" WHERE ") //$NON-NLS-1$
- .append(" UCASE(SchemaName)").append(" LIKE '").append(m.group(2)).append("'")//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- .append(" AND UCASE(TableName)") .append(" LIKE '").append(m.group(1)).append("'")//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ .append(" UCASE(SchemaName)").append(" LIKE UCASE('").append(m.group(2)).append("')")//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ .append(" AND UCASE(TableName)") .append(" LIKE UCASE('").append(m.group(1)).append("')")//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
.append(" AND KeyType LIKE 'Primary'") //$NON-NLS-1$
.append(" ORDER BY attnum").toString(); //$NON-NLS-1$
}
else if ((m = pkKeyPattern.matcher(modified)).matches()) {
- modified = "SELECT NULL, NULL, NULL, NULL, NULL FROM (SELECT 1) as X WHERE 0=1"; //$NON-NLS-1$
+ String tableName = m.group(1);
+ if (tableName.endsWith("_pkey")) { //$NON-NLS-1$
+ tableName = tableName.substring(0, tableName.length()-5);
+ modified = "select ia.attname, ia.attnum, ic.relname, n.nspname, NULL "+ //$NON-NLS-1$
+ "from pg_catalog.pg_attribute ia, pg_catalog.pg_class ic, pg_catalog.pg_namespace n, Sys.KeyColumns kc "+ //$NON-NLS-1$
+ "where ic.relname = '"+tableName+"' AND n.nspname = '"+m.group(2)+"' AND "+ //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ "n.oid = ic.relnamespace AND ia.attrelid = ic.oid AND kc.SchemaName = n.nspname " +//$NON-NLS-1$
+ "AND kc.TableName = ic.relname AND kc.KeyType = 'Primary' AND kc.Name = ia.attname order by ia.attnum";//$NON-NLS-1$
+ }
+ else {
+ modified = "SELECT NULL, NULL, NULL, NULL, NULL FROM (SELECT 1) as X WHERE 0=1"; //$NON-NLS-1$
+ }
+
}
else if ((m = fkPattern.matcher(modified)).matches()){
modified = "SELECT PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, PKCOLUMN_NAME, FKTABLE_CAT, FKTABLE_SCHEM, "+//$NON-NLS-1$
Modified: branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
===================================================================
--- branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-03-17 19:51:18 UTC (rev 3003)
+++ branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-03-17 21:20:12 UTC (rev 3004)
@@ -1,25 +1,25 @@
integer integer string integer short short integer boolean boolean boolean
oid attrelid attname atttypid attlen attnum atttypmod attnotnull attisdropped atthasdef
-0 0 PART_ID 1043 -1 1 4 false false false
+0 0 PART_ID 1043 -1 1 4 true false false
1 0 PART_NAME 1043 -1 2 255 false false false
2 0 PART_COLOR 1043 -1 3 30 false false false
3 0 PART_WEIGHT 1043 -1 4 255 false false false
-4 1 SHIPPER_ID 21 2 1 0 false false false
+4 1 SHIPPER_ID 21 2 1 0 true false false
5 1 SHIPPER_NAME 1043 -1 2 30 false false false
-6 2 STATUS_ID 21 2 1 0 false false false
+6 2 STATUS_ID 21 2 1 0 true false false
7 2 STATUS_NAME 1043 -1 2 30 false false false
-8 3 SUPPLIER_ID 1043 -1 1 10 false false false
-9 3 PART_ID 1043 -1 2 4 false false false
+8 3 SUPPLIER_ID 1043 -1 1 10 true false false
+9 3 PART_ID 1043 -1 2 4 true false false
10 3 QUANTITY 21 2 3 0 false false false
11 3 SHIPPER_ID 21 2 4 0 false false false
-12 4 SUPPLIER_ID 1043 -1 1 10 false false false
+12 4 SUPPLIER_ID 1043 -1 1 10 true false false
13 4 SUPPLIER_NAME 1043 -1 2 30 false false false
14 4 SUPPLIER_STATUS 21 2 3 0 false false false
15 4 SUPPLIER_CITY 1043 -1 4 30 false false false
16 4 SUPPLIER_STATE 1043 -1 5 2 false false false
-17 5 VDBName 1043 -1 1 255 false false false
-18 5 SchemaName 1043 -1 2 255 false false false
-19 5 Name 1043 -1 3 255 false false false
+17 5 VDBName 1043 -1 1 255 true false false
+18 5 SchemaName 1043 -1 2 255 true false false
+19 5 Name 1043 -1 3 255 true false false
20 5 TargetSchemaName 1043 -1 4 255 false false false
21 5 TargetName 1043 -1 5 4000 false false false
22 5 Valid 16 1 6 0 false false false
@@ -28,103 +28,103 @@
25 5 Cardinality 23 4 9 10 false false false
26 6 resourcePath 1043 -1 1 255 false false false
27 6 contents 14939 -1 2 0 false false false
-28 7 VDBName 1043 -1 1 255 false false false
+28 7 VDBName 1043 -1 1 255 true false false
29 7 SchemaName 1043 -1 2 255 false false false
-30 7 TableName 1043 -1 3 255 false false false
-31 7 Name 1043 -1 4 255 false false false
-32 7 Position 23 4 5 10 false false false
+30 7 TableName 1043 -1 3 255 true false false
+31 7 Name 1043 -1 4 255 true false false
+32 7 Position 23 4 5 10 true false false
33 7 NameInSource 1043 -1 6 255 false false false
-34 7 DataType 1043 -1 7 100 false false false
-35 7 Scale 23 4 8 10 false false false
-36 7 Length 23 4 9 10 false false false
-37 7 IsLengthFixed 16 1 10 1 false false false
-38 7 SupportsSelect 16 1 11 1 false false false
-39 7 SupportsUpdates 16 1 12 1 false false false
-40 7 IsCaseSensitive 16 1 13 1 false false false
-41 7 IsSigned 16 1 14 1 false false false
-42 7 IsCurrency 16 1 15 1 false false false
-43 7 IsAutoIncremented 16 1 16 1 false false false
-44 7 NullType 1043 -1 17 20 false false false
+34 7 DataType 1043 -1 7 100 true false false
+35 7 Scale 23 4 8 10 true false false
+36 7 Length 23 4 9 10 true false false
+37 7 IsLengthFixed 16 1 10 1 true false false
+38 7 SupportsSelect 16 1 11 1 true false false
+39 7 SupportsUpdates 16 1 12 1 true false false
+40 7 IsCaseSensitive 16 1 13 1 true false false
+41 7 IsSigned 16 1 14 1 true false false
+42 7 IsCurrency 16 1 15 1 true false false
+43 7 IsAutoIncremented 16 1 16 1 true false false
+44 7 NullType 1043 -1 17 20 true false false
45 7 MinRange 1043 -1 18 50 false false false
46 7 MaxRange 1043 -1 19 50 false false false
-47 7 SearchType 1043 -1 20 20 false false false
+47 7 SearchType 1043 -1 20 20 true false false
48 7 Format 1043 -1 21 255 false false false
49 7 DefaultValue 1043 -1 22 255 false false false
-50 7 JavaClass 1043 -1 23 500 false false false
-51 7 Precision 23 4 24 10 false false false
+50 7 JavaClass 1043 -1 23 500 true false false
+51 7 Precision 23 4 24 10 true false false
52 7 CharOctetLength 23 4 25 10 false false false
-53 7 Radix 23 4 26 10 false false false
-54 7 UID 1043 -1 27 50 false false false
+53 7 Radix 23 4 26 10 true false false
+54 7 UID 1043 -1 27 50 true false false
55 7 Description 1043 -1 28 255 false false false
-56 7 OID 23 4 29 10 false false false
-57 8 Name 1043 -1 1 100 false false false
+56 7 OID 23 4 29 10 true false false
+57 8 Name 1043 -1 1 100 true false false
58 8 IsStandard 16 1 2 1 false false false
59 8 IsPhysical 16 1 3 1 false false false
-60 8 TypeName 1043 -1 4 100 false false false
-61 8 JavaClass 1043 -1 5 500 false false false
+60 8 TypeName 1043 -1 4 100 true false false
+61 8 JavaClass 1043 -1 5 500 true false false
62 8 Scale 23 4 6 10 false false false
-63 8 TypeLength 23 4 7 10 false false false
-64 8 NullType 1043 -1 8 20 false false false
-65 8 IsSigned 16 1 9 1 false false false
-66 8 IsAutoIncremented 16 1 10 1 false false false
-67 8 IsCaseSensitive 16 1 11 1 false false false
-68 8 Precision 23 4 12 10 false false false
+63 8 TypeLength 23 4 7 10 true false false
+64 8 NullType 1043 -1 8 20 true false false
+65 8 IsSigned 16 1 9 1 true false false
+66 8 IsAutoIncremented 16 1 10 1 true false false
+67 8 IsCaseSensitive 16 1 11 1 true false false
+68 8 Precision 23 4 12 10 true false false
69 8 Radix 23 4 13 10 false false false
-70 8 SearchType 1043 -1 14 20 false false false
-71 8 UID 1043 -1 15 50 false false false
+70 8 SearchType 1043 -1 14 20 true false false
+71 8 UID 1043 -1 15 50 true false false
72 8 RuntimeType 1043 -1 16 64 false false false
73 8 BaseType 1043 -1 17 64 false false false
74 8 Description 1043 -1 18 255 false false false
-75 8 OID 23 4 19 10 false false false
-76 9 VDBName 1043 -1 1 255 false false false
+75 8 OID 23 4 19 10 true false false
+76 9 VDBName 1043 -1 1 255 true false false
77 9 SchemaName 1043 -1 2 255 false false false
-78 9 TableName 1043 -1 3 2048 false false false
-79 9 Name 1043 -1 4 255 false false false
+78 9 TableName 1043 -1 3 2048 true false false
+79 9 Name 1043 -1 4 255 true false false
80 9 KeyName 1043 -1 5 255 false false false
-81 9 KeyType 1043 -1 6 20 false false false
+81 9 KeyType 1043 -1 6 20 true false false
82 9 RefKeyUID 1043 -1 7 50 false false false
-83 9 UID 1043 -1 8 50 false false false
+83 9 UID 1043 -1 8 50 true false false
84 9 Position 23 4 9 10 false false false
-85 9 OID 23 4 10 10 false false false
-86 10 VDBName 1043 -1 1 255 false false false
+85 9 OID 23 4 10 10 true false false
+86 10 VDBName 1043 -1 1 255 true false false
87 10 SchemaName 1043 -1 2 255 false false false
-88 10 TableName 1043 -1 3 2048 false false false
-89 10 Name 1043 -1 4 255 false false false
+88 10 TableName 1043 -1 3 2048 true false false
+89 10 Name 1043 -1 4 255 true false false
90 10 Description 1043 -1 5 255 false false false
91 10 NameInSource 1043 -1 6 255 false false false
-92 10 Type 1043 -1 7 20 false false false
-93 10 IsIndexed 16 1 8 1 false false false
+92 10 Type 1043 -1 7 20 true false false
+93 10 IsIndexed 16 1 8 1 true false false
94 10 RefKeyUID 1043 -1 9 50 false false false
-95 10 UID 1043 -1 10 50 false false false
-96 10 OID 23 4 11 10 false false false
-97 11 VDBName 1043 -1 1 255 false false false
+95 10 UID 1043 -1 10 50 true false false
+96 10 OID 23 4 11 10 true false false
+97 11 VDBName 1043 -1 1 255 true false false
98 11 SchemaName 1043 -1 2 255 false false false
-99 11 ProcedureName 1043 -1 3 255 false false false
-100 11 Name 1043 -1 4 255 false false false
-101 11 DataType 1043 -1 5 25 false false false
-102 11 Position 23 4 6 10 false false false
-103 11 Type 1043 -1 7 100 false false false
-104 11 Optional 16 1 8 1 false false false
-105 11 Precision 23 4 9 10 false false false
-106 11 TypeLength 23 4 10 10 false false false
-107 11 Scale 23 4 11 10 false false false
-108 11 Radix 23 4 12 10 false false false
-109 11 NullType 1043 -1 13 10 false false false
+99 11 ProcedureName 1043 -1 3 255 true false false
+100 11 Name 1043 -1 4 255 true false false
+101 11 DataType 1043 -1 5 25 true false false
+102 11 Position 23 4 6 10 true false false
+103 11 Type 1043 -1 7 100 true false false
+104 11 Optional 16 1 8 1 true false false
+105 11 Precision 23 4 9 10 true false false
+106 11 TypeLength 23 4 10 10 true false false
+107 11 Scale 23 4 11 10 true false false
+108 11 Radix 23 4 12 10 true false false
+109 11 NullType 1043 -1 13 10 true false false
110 11 UID 1043 -1 14 50 false false false
111 11 Description 1043 -1 15 255 false false false
-112 11 OID 23 4 16 10 false false false
-113 12 VDBName 1043 -1 1 255 false false false
+112 11 OID 23 4 16 10 true false false
+113 12 VDBName 1043 -1 1 255 true false false
114 12 SchemaName 1043 -1 2 255 false false false
-115 12 Name 1043 -1 3 255 false false false
+115 12 Name 1043 -1 3 255 true false false
116 12 NameInSource 1043 -1 4 255 false false false
-117 12 ReturnsResults 16 1 5 1 false false false
-118 12 UID 1043 -1 6 50 false false false
+117 12 ReturnsResults 16 1 5 1 true false false
+118 12 UID 1043 -1 6 50 true false false
119 12 Description 1043 -1 7 255 false false false
-120 12 OID 23 4 8 10 false false false
-121 13 Name 1043 -1 1 255 false false false
-122 13 Value 1043 -1 2 255 false false false
-123 13 UID 1043 -1 3 50 false false false
-124 13 OID 23 4 4 10 false false false
+120 12 OID 23 4 8 10 true false false
+121 13 Name 1043 -1 1 255 true false false
+122 13 Value 1043 -1 2 255 true false false
+123 13 UID 1043 -1 3 50 true false false
+124 13 OID 23 4 4 10 true false false
125 14 PKTABLE_CAT 1043 -1 1 255 false false false
126 14 PKTABLE_SCHEM 1043 -1 2 255 false false false
127 14 PKTABLE_NAME 1043 -1 3 255 false false false
@@ -141,26 +141,26 @@
138 14 DEFERRABILITY 23 4 14 10 false false false
139 15 VDBName 1043 -1 1 255 false false false
140 15 Name 1043 -1 2 255 false false false
-141 15 IsPhysical 16 1 3 1 false false false
-142 15 UID 1043 -1 4 50 false false false
+141 15 IsPhysical 16 1 3 1 true false false
+142 15 UID 1043 -1 4 50 true false false
143 15 Description 1043 -1 5 255 false false false
-144 15 PrimaryMetamodelURI 1043 -1 6 255 false false false
-145 15 OID 23 4 7 10 false false false
+144 15 PrimaryMetamodelURI 1043 -1 6 255 true false false
+145 15 OID 23 4 7 10 true false false
146 16 VDBName 1043 -1 1 255 false false false
147 16 SchemaName 1043 -1 2 255 false false false
-148 16 Name 1043 -1 3 255 false false false
-149 16 Type 1043 -1 4 20 false false false
+148 16 Name 1043 -1 3 255 true false false
+149 16 Type 1043 -1 4 20 true false false
150 16 NameInSource 1043 -1 5 255 false false false
-151 16 IsPhysical 16 1 6 1 false false false
-152 16 SupportsUpdates 16 1 7 1 false false false
-153 16 UID 1043 -1 8 50 false false false
-154 16 Cardinality 23 4 9 10 false false false
+151 16 IsPhysical 16 1 6 1 true false false
+152 16 SupportsUpdates 16 1 7 1 true false false
+153 16 UID 1043 -1 8 50 true false false
+154 16 Cardinality 23 4 9 10 true false false
155 16 Description 1043 -1 10 255 false false false
156 16 IsSystem 16 1 11 1 false false false
-157 16 IsMaterialized 16 1 12 0 false false false
-158 16 OID 23 4 13 10 false false false
-159 17 Name 1043 -1 1 255 false false false
-160 17 Version 1043 -1 2 50 false false false
+157 16 IsMaterialized 16 1 12 0 true false false
+158 16 OID 23 4 13 10 true false false
+159 17 Name 1043 -1 1 255 true false false
+160 17 Version 1043 -1 2 50 true false false
161 18 oid 23 4 1 0 false false false
162 18 nspname 1043 -1 2 0 false false false
163 19 oid 23 4 1 0 false false false
13 years, 2 months
teiid SVN: r3003 - in trunk: test-integration/common/src/test/resources/TestMMDatabaseMetaData and 1 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-17 15:51:18 -0400 (Thu, 17 Mar 2011)
New Revision: 3003
Modified:
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
Log:
TEIID-1516 fixing getColumns is_nullable
Modified: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2011-03-17 15:11:14 UTC (rev 3002)
+++ trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2011-03-17 19:51:18 UTC (rev 3003)
@@ -45,6 +45,8 @@
public class DatabaseMetaDataImpl extends WrapperImpl implements DatabaseMetaData {
+ 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$
private static Logger logger = Logger.getLogger("org.teiid.jdbc"); //$NON-NLS-1$
@@ -202,7 +204,7 @@
.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$
.append(", CharOctetLength AS CHAR_OCTET_LENGTH, Position AS ORDINAL_POSITION") //$NON-NLS-1$
- .append(", decodeString(NullType, 'No Nulls, YES, Nullable, NO, Unknown, '' ''', ',') AS IS_NULLABLE") //$NON-NLS-1$
+ .append(", " + IS_NULLABLE) //$NON-NLS-1$
.append(", NULL AS SCOPE_CATALOG, NULL AS SCOPE_SCHEMA, NULL AS SCOPE_TABLE, NULL AS SOURCE_DATA_TYPE, CASE WHEN e.IsAutoIncremented = 'true' THEN 'YES' ELSE 'NO' END AS IS_AUTOINCREMENT") //$NON-NLS-1$
.append(" FROM ").append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME) //$NON-NLS-1$
.append(".Columns e") //$NON-NLS-1$
@@ -258,7 +260,7 @@
.append(PROC_COLUMN_NULLABILITY_MAPPING).append("', ','), integer) AS NULLABLE") //$NON-NLS-1$
.append(", p.Description AS REMARKS, NULL AS COLUMN_DEF") //$NON-NLS-1$
.append(", NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS CHAR_OCTET_LENGTH, p.Position AS ORDINAL_POSITION") //$NON-NLS-1$
- .append(", CASE NullType WHEN 'Nullable' THEN 'YES' WHEN 'No Nulls' THEN 'NO' ELSE '' END AS IS_NULLABLE, p.ProcedureName as SPECIFIC_NAME FROM ") //$NON-NLS-1$
+ .append(", "+IS_NULLABLE+", p.ProcedureName as SPECIFIC_NAME FROM ") //$NON-NLS-1$ //$NON-NLS-2$
.append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
.append(".ProcedureParams as p") //$NON-NLS-1$
.append(" WHERE UCASE(VDBName)").append(LIKE_ESCAPE)//$NON-NLS-1$
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2011-03-17 15:11:14 UTC (rev 3002)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2011-03-17 19:51:18 UTC (rev 3003)
@@ -1,779 +1,779 @@
string string string string short 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_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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest.SingleRow 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc BQTDocTestDocument BQTDocTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg3 count 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 1 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 min 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 sum -5 long 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Agg4 avg 8 double 20 <null> 0 10 0 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr1 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr2 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr3 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr4 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr5 E 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr6 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr6 expr 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr7 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Expr7 E 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 IntKey 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Mapping4 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order3 E 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order4 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Base.Order5 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 20 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 21 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 22 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 23 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 24 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 25 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 27 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 28 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 29 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 HugeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 LargeB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews SchemaName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews TargetSchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews LoadState 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 MediumB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams UID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas Name 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallA ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT1 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS BQT2 SmallB ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U1 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U10 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U11 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U11 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U2 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U3 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 B 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U4 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U5 Source 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U6 StringCol 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U6 IntCol 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U7 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U8 ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 A 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 B 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS VQT Union.U9 C 7 float 20 <null> 0 10 0 <null> <null> <null> <null> 126 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN VDBResources resourcePath 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 YES <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest.data3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc choiceTestDocument choiceTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc defaultValueTestDocument defaultValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest.wrapper1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc emptyContentTestDocument emptyContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc fixedValueTestDocument fixedValueTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupA 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.GroupB 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group.pseudoID 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc groupDocument group 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest.wrapper3 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc mixedContentTestDocument mixedContentTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.data1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest.key1 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc multipleDocsTestDocument multipleDocsTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest.wrapper 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTDoc nillableTestDocument nillableTest 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
+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 SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 20 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 21 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 22 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 23 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 24 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 25 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 27 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 28 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 29 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 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 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 oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
@@ -849,225 +849,225 @@
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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testBoundTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testExcludeFromDoc testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNested2Document testNested2 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testNestedDocument testNested 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testOptimizableTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testRootTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleDocument testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTNestedDoc testSimpleNested testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple.recursiveRoot 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQTRecursiveDoc testSimpleTempTable testSimple 12 string 4000 <null> 0 0 1 <null> <null> <null> <null> 0 0 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <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 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData key 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData data 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtData nextKey 2 biginteger 19 <null> 0 10 0 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData IntKey 4 integer 22 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData StringKey 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 2 YES <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData IntNum 4 integer 22 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData StringNum 12 string 10 <null> 0 10 1 <null> <null> <null> <null> 10 4 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData FloatNum 7 float 20 <null> 0 10 1 <null> <null> <null> <null> 126 5 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData LongNum -5 long 28 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData DoubleNum 8 double 20 <null> 0 10 1 <null> <null> <null> <null> 28 7 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ByteNum -6 byte 8 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData DateValue 91 date 7 <null> 0 10 1 <null> <null> <null> <null> 7 9 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData TimeValue 92 time 7 <null> 0 10 1 <null> <null> <null> <null> 7 10 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData TimestampValue 93 timestamp 7 <null> 0 10 1 <null> <null> <null> <null> 7 11 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BooleanValue -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 12 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData CharValue 1 char 1 <null> 0 10 1 <null> <null> <null> <null> 1 13 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ShortValue 5 short 8 <null> 0 10 1 <null> <null> <null> <null> 0 14 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BigIntegerValue 2 biginteger 19 <null> 0 10 1 <null> <null> <null> <null> 28 15 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData BigDecimalValue 2 bigdecimal 20 <null> 0 10 1 <null> <null> <null> <null> 126 16 NO <null> <null> <null> !
<null> NO
-QT_Ora9DS XQT xqtFullData ObjectValue 2000 object 2048 <null> 0 10 1 <null> <null> <null> <null> 2048 17 NO <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
Row Count : 1068
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2011-03-17 15:11:14 UTC (rev 3002)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2011-03-17 19:51:18 UTC (rev 3003)
@@ -1,166 +1,166 @@
string string string string short 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_TABLE!
SOURCE_DATA_TYPE IS_AUTOINCREMENT
-PartsSupplier SYS Columns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns TableName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns DataType 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Scale 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Length 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsLengthFixed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SupportsSelect -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 12 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 13 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsSigned -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 14 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsCurrency -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 15 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 16 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 17 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns MinRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 18 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns MaxRange 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 19 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 20 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 21 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 22 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 23 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 24 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 25 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 27 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 28 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 29 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes TypeName 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Scale 4 integer 10 <null> 0 10 1 <null> (0) <null> <null> 10 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes NullType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsSigned -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsAutoIncremented -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes IsCaseSensitive -7 boolean 1 <null> 0 10 0 <null> ('0') <null> <null> 1 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Radix 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 13 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 14 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 15 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes RuntimeType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 16 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes BaseType 12 string 64 <null> 0 10 1 <null> <null> <null> <null> 64 17 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 18 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS DataTypes OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 19 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns KeyName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns KeyType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns Position 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS KeyColumns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys TableName 12 string 2048 <null> 0 10 0 <null> <null> <null> <null> 2048 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys IsIndexed -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys RefKeyUID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Keys OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews SchemaName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews TargetSchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews TargetName 12 string 4000 <null> 0 10 1 <null> <null> <null> <null> 4000 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Valid -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 0 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews LoadState 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Updated 93 timestamp 29 <null> 0 10 1 <null> <null> <null> <null> 0 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN MatViews Cardinality 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 12 string 4 <null> 0 10 0 <null> <null> <null> <null> 4 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_COLOR 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <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 YES <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 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 5 short 2 <null> 0 10 0 <null> <null> <null> <null> 0 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 5 short 2 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 12 string 30 <null> 0 10 1 <null> <null> <null> <null> 30 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 12 string 2 <null> 0 10 1 <null> <null> <null> <null> 2 5 NO <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 YES <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 YES <null> <null> <null> !
<null> NO
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 5 short 3 <null> 0 10 1 <null> <null> <null> <null> 0 3 NO <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 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams ProcedureName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams DataType 12 string 25 <null> 0 10 0 <null> <null> <null> <null> 25 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Position 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Type 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Optional -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams TypeLength 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 10 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Scale 4 integer 10 <null> 0 10 0 <null> (0) <null> <null> 10 11 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 12 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams NullType 12 string 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams UID 12 string 50 <null> 0 10 1 <null> <null> <null> <null> 50 14 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 15 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ProcedureParams OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 16 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures VDBName 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures ReturnsResults -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 5 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Procedures OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties Value 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 2 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Properties OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 3 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 4 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_CAT 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_SCHEM 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 6 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 7 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FKCOLUMN_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 8 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns KEY_SEQ 5 short 5 <null> 0 10 1 <null> <null> <null> <null> 5 9 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns UPDATE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns DELETE_RULE 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns FK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 12 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns PK_NAME 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 13 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS ReferenceKeyColumns DEFERRABILITY 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 14 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas Name 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas PrimaryMetamodelURI 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Schemas OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables VDBName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables SchemaName 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 3 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Type 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 4 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables NameInSource 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 5 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsPhysical -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 6 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables SupportsUpdates -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 1 7 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 8 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Cardinality 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 9 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 10 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsSystem -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 11 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables IsMaterialized -7 boolean 1 <null> 0 10 0 <null> <null> <null> <null> 0 12 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS Tables OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 13 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN VDBResources resourcePath 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 1 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYSADMIN VDBResources contents 2004 blob 2147483647 <null> 0 10 1 <null> <null> <null> <null> 0 2 NO <null> <null> <null> !
<null> NO
-PartsSupplier SYS VirtualDatabases Name 12 string 255 <null> 0 10 0 <null> <null> <null> <null> 255 1 YES <null> <null> <null> !
<null> NO
-PartsSupplier SYS VirtualDatabases Version 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 2 YES <null> <null> <null> !
<null> NO
+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 SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 20 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 21 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 22 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 23 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 24 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 25 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 27 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 28 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 29 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 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 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 oid 4 integer 10 <null> 0 0 2 <null> <null> <null> <null> 0 1 <null> <null> <null> !
<null> NO
13 years, 2 months
teiid SVN: r3002 - in branches/7.1.x/engine/src: main/java/org/teiid/dqp/internal/process/multisource and 11 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-17 11:11:14 -0400 (Thu, 17 Mar 2011)
New Revision: 3002
Modified:
branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java
branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java
branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java
branches/7.1.x/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java
branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java
branches/7.1.x/engine/src/main/resources/org/teiid/query/i18n.properties
branches/7.1.x/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
branches/7.1.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java
branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java
Log:
TEIID-1467 TEIID-1489 backporting metadata fixes
Modified: branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -190,14 +190,16 @@
throw new TeiidComponentException(QueryPlugin.Util.getString("DQPCore.Unable_to_load_metadata_for_VDB_name__{0},_version__{1}", this.vdbName, this.vdbVersion)); //$NON-NLS-1$
}
- this.metadata = new TempMetadataAdapter(metadata, new TempMetadataStore());
-
// Check for multi-source models and further wrap the metadata interface
Set<String> multiSourceModelList = workContext.getVDB().getMultiSourceModelNames();
if(multiSourceModelList != null && multiSourceModelList.size() > 0) {
this.multiSourceModels = multiSourceModelList;
this.metadata = new MultiSourceMetadataWrapper(this.metadata, this.multiSourceModels);
}
+
+ TempMetadataAdapter tma = new TempMetadataAdapter(metadata, new TempMetadataStore());
+ tma.setSession(true);
+ this.metadata = tma;
}
protected void createCommandContext() throws QueryValidatorException {
Modified: branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -330,5 +330,10 @@
return actualMetadata.getNativeType(elementID);
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return new MultiSourceMetadataWrapper(actualMetadata.getDesignTimeMetadata(), multiSourceModels);
+ }
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -439,6 +439,16 @@
public boolean isProcedure(Object elementID) throws TeiidComponentException, QueryMetadataException {
return false;
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return this;
+ }
+
+ @Override
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ return false;
+ }
public byte[] getBinaryVDBResource(String resourcePath) throws TeiidComponentException, QueryMetadataException {
return null;
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -373,5 +373,15 @@
public Object getPrimaryKey(Object metadataID) {
return actualMetadata.getPrimaryKey(metadataID);
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return actualMetadata.getDesignTimeMetadata();
+ }
+
+ @Override
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ return actualMetadata.hasProcedure(name);
+ }
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -680,4 +680,9 @@
FunctionLibrary getFunctionLibrary();
Object getPrimaryKey(Object metadataID);
+
+ QueryMetadataInterface getDesignTimeMetadata();
+
+ boolean hasProcedure(String name) throws TeiidComponentException;
+
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -58,6 +58,7 @@
private TempMetadataStore tempStore;
private Map materializationTables;
private Map queryNodes;
+ private boolean session;
public TempMetadataAdapter(QueryMetadataInterface metadata, TempMetadataStore tempStore) {
super(metadata);
@@ -69,8 +70,23 @@
this.tempStore = tempStore;
this.materializationTables = materializationTables;
this.queryNodes = queryNodes;
- }
+ }
+ public boolean isSession() {
+ return session;
+ }
+
+ public void setSession(boolean session) {
+ this.session = session;
+ }
+
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ if (isSession()) {
+ return this.actualMetadata.getDesignTimeMetadata();
+ }
+ return new TempMetadataAdapter(this.actualMetadata.getDesignTimeMetadata(), tempStore, materializationTables, queryNodes);
+ }
+
public TempMetadataStore getMetadataStore() {
return this.tempStore;
}
@@ -292,8 +308,11 @@
throws TeiidComponentException, QueryMetadataException {
// check if any dynamic materialization tables are defined
- if (this.materializationTables != null && this.materializationTables.containsKey(groupID)) {
- return this.materializationTables.get(groupID);
+ if (this.materializationTables != null) {
+ Object result = this.materializationTables.get(groupID);
+ if (result != null) {
+ return result;
+ }
}
if(groupID instanceof TempMetadataID) {
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -159,6 +159,13 @@
this.functionLibrary = new FunctionLibrary(systemFunctions, new FunctionTree(new UDFSource(udfMethods), true));
}
+ private TransformationMetadata(final CompositeMetadataStore store, FunctionLibrary functionLibrary) {
+ ArgCheck.isNotNull(store);
+ this.store = store;
+ this.vdbEntries = Collections.emptyMap();
+ this.functionLibrary = functionLibrary;
+ }
+
//==================================================================================
// I N T E R F A C E M E T H O D S
//==================================================================================
@@ -287,11 +294,31 @@
throw createInvalidRecordTypeException(elementID);
}
}
+
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ try {
+ return getStoredProcedureInfoForProcedure(name) != null;
+ } catch (QueryMetadataException e) {
+ return false;
+ }
+ }
- public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String fullyQualifiedProcedureName)
+ public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String name)
throws TeiidComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullyQualifiedProcedureName);
- String lowerGroupName = fullyQualifiedProcedureName.toLowerCase();
+ StoredProcedureInfo result = getStoredProcInfoDirect(name);
+
+ if (result == null) {
+ throw new QueryMetadataException(name+NOT_EXISTS_MESSAGE);
+ }
+
+ return result;
+ }
+
+ private StoredProcedureInfo getStoredProcInfoDirect(
+ final String name)
+ throws TeiidComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(name);
+ String lowerGroupName = name.toLowerCase();
Collection<StoredProcedureInfo> results = this.procedureCache.get(lowerGroupName);
if (results == null) {
@@ -353,18 +380,14 @@
for (StoredProcedureInfo storedProcedureInfo : results) {
Schema schema = (Schema)storedProcedureInfo.getModelID();
- if(vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
+ if(name.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
if (result != null) {
- throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", fullyQualifiedProcedureName)); //$NON-NLS-1$
+ throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", name)); //$NON-NLS-1$
}
result = storedProcedureInfo;
}
}
- if (result == null) {
- throw new QueryMetadataException(fullyQualifiedProcedureName+NOT_EXISTS_MESSAGE);
- }
-
return result;
}
@@ -744,6 +767,10 @@
return vdbMetaData.getVersion();
}
+ public VDBMetaData getVdbMetaData() {
+ return vdbMetaData;
+ }
+
/**
* @see org.teiid.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
*/
@@ -1082,4 +1109,9 @@
Table table = (Table)metadataID;
return table.getPrimaryKey();
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return new TransformationMetadata(store, functionLibrary);
+ }
}
\ No newline at end of file
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -1048,6 +1048,7 @@
String cacheString, QueryMetadataInterface qmi, AnalysisRecord analysisRecord) throws TeiidComponentException,
QueryMetadataException, QueryResolverException,
QueryValidatorException {
+ qmi = qmi.getDesignTimeMetadata();
Command result = (Command)qmi.getFromMetadataCache(virtualGroup.getMetadataID(), "transformation/" + cacheString); //$NON-NLS-1$
if (result != null) {
result = (Command)result.clone();
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -101,7 +101,7 @@
throws TeiidComponentException, QueryPlannerException {
// Run resolver
try {
- QueryResolver.resolveCommand(query, Collections.EMPTY_MAP, metadata, AnalysisRecord.createNonRecordingRecord());
+ QueryResolver.resolveCommand(query, Collections.EMPTY_MAP, metadata.getDesignTimeMetadata(), AnalysisRecord.createNonRecordingRecord());
} catch(QueryResolverException e) {
throw new QueryPlannerException(e, e.getMessage());
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -22,7 +22,7 @@
package org.teiid.query.processor.proc;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_SQL;
+import static org.teiid.query.analysis.AnalysisRecord.*;
import java.util.Collections;
import java.util.HashMap;
@@ -162,7 +162,7 @@
parentProcCommand.getVirtualGroup(), metadata);
}
- QueryResolver.resolveCommand(command, metadata);
+ QueryResolver.resolveCommand(command, metadata.getDesignTimeMetadata());
validateDynamicCommand(procEnv, command);
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -87,7 +87,7 @@
try {
subCommand = parser.parseCommand(plan);
} catch(QueryParserException e) {
- throw new QueryResolverException(e, "ERR.015.008.0045", QueryPlugin.Util.getString("ERR.015.008.0045", group)); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new QueryResolverException(e, "ERR.015.008.0045", QueryPlugin.Util.getString("ERR.015.008.0045", group, procCommand.getClass().getSimpleName())); //$NON-NLS-1$ //$NON-NLS-2$
}
if(subCommand instanceof CreateUpdateProcedureCommand){
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -87,7 +87,7 @@
public static Command expandCommand(ProcedureContainer proc, QueryMetadataInterface metadata, AnalysisRecord analysisRecord) throws QueryResolverException, QueryMetadataException, TeiidComponentException {
ProcedureContainerResolver cr = (ProcedureContainerResolver)chooseResolver(proc, metadata);
- return cr.expandCommand(proc, metadata, analysisRecord);
+ return cr.expandCommand(proc, metadata.getDesignTimeMetadata(), analysisRecord);
}
/**
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -70,6 +70,10 @@
if(!exitsingGroups.isEmpty()) {
throw new QueryResolverException(QueryPlugin.Util.getString("TempTableResolver.table_already_exists", group.getName())); //$NON-NLS-1$
}
+ if (metadata.getMetadata().hasProcedure(group.getName())) {
+ throw new QueryResolverException(QueryPlugin.Util.getString("TempTableResolver.table_already_exists", group.getName())); //$NON-NLS-1$
+ }
+
//now we will be more specific for temp groups
TempMetadataID id = metadata.getMetadataStore().getTempGroupID(group.getName());
if (id != null && !metadata.isTemporaryTable(id)) {
Modified: branches/7.1.x/engine/src/main/resources/org/teiid/query/i18n.properties
===================================================================
--- branches/7.1.x/engine/src/main/resources/org/teiid/query/i18n.properties 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/main/resources/org/teiid/query/i18n.properties 2011-03-17 15:11:14 UTC (rev 3002)
@@ -119,7 +119,7 @@
ERR.015.008.0041= Expected value of type ''{0}'' but ''{1}'' is of type ''{2}'' and no implicit conversion is available.
ERR.015.008.0042= Element ''{0}'' in ORDER BY is ambiguous and may refer to more than one element of SELECT clause.
ERR.015.008.0043= Element ''{0}'' in ORDER BY was not found in SELECT clause.
-ERR.015.008.0045= Failed parsing insert plan for {0}
+ERR.015.008.0045= Failed parsing {1} plan for {0}
ERR.015.008.0046= The symbol {0} may only be used once in the FROM clause.
ERR.015.008.0047= The symbol {0} refers to a group not defined in the FROM clause.
ERR.015.008.0049= Bindings must be specified
Modified: branches/7.1.x/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -50,8 +50,9 @@
private DQPCore core;
@Before public void setUp() throws Exception {
- DQPWorkContext context = FakeMetadataFactory.buildWorkContext(FakeMetadataFactory.exampleBQTCached(), FakeMetadataFactory.exampleBQTVDB());
+ DQPWorkContext context = FakeMetadataFactory.buildWorkContext(FakeMetadataFactory.exampleBQT());
context.getVDB().getModel("BQT3").setVisible(false); //$NON-NLS-1$
+ context.getVDB().getModel("VQT").setVisible(false); //$NON-NLS-1$
ConnectorManagerRepository repo = Mockito.mock(ConnectorManagerRepository.class);
context.getVDB().addAttchment(ConnectorManagerRepository.class, repo);
@@ -157,6 +158,14 @@
}
/**
+ * Ensures that VQT visibility does not affect the view query
+ */
+ @Test public void testViewVisibility() throws Exception {
+ String sql = "SELECT * FROM VQT.SmallA_2589g"; //$NON-NLS-1$
+ helpExecute(sql, "a"); //$NON-NLS-1$
+ }
+
+ /**
* Tests whether an exception result is sent when an exception occurs
* @since 4.3
*/
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -64,6 +64,7 @@
@Before public void setUp() {
tempStore = new TempTableStore("1"); //$NON-NLS-1$
metadata = new TempMetadataAdapter(FakeMetadataFactory.example1Cached(), tempStore.getMetadataStore());
+ metadata.setSession(true);
FakeDataManager fdm = new FakeDataManager();
TestProcessor.sampleData1(fdm);
BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
@@ -261,7 +262,16 @@
execute("create local temporary table x (e1 string, e2 integer, primary key (e1, e2))", new List[] {Arrays.asList(0)}); //$NON-NLS-1$
execute("select * from x where e1 in ('a', 'b') order by e1 desc", new List[0]); //$NON-NLS-1$
}
-
+
+ /**
+ * If the session metadata is still visible, then the procedure will fail due to the conflicting
+ * definitions of temp_table
+ */
+ @Test public void testSessionResolving() throws Exception {
+ execute("create local temporary table temp_table (column1 integer)", new List[] {Arrays.asList(0)});
+ execute("exec pm1.vsp60()", new List[] {Arrays.asList("First"), Arrays.asList("Second"), Arrays.asList("Third")});
+ }
+
private void sampleTable() throws Exception {
execute("create local temporary table x (e1 string, e2 integer, primary key (e1, e2))", new List[] {Arrays.asList(0)}); //$NON-NLS-1$
execute("insert into x (e2, e1) values (3, 'b')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -2418,6 +2418,11 @@
String sql = "CREATE LOCAL TEMPORARY TABLE pm1.g1 (column1 string)"; //$NON-NLS-1$
helpResolveException(sql, "Cannot create temporary table \"pm1.g1\". Local temporary tables must be created with unqualified names."); //$NON-NLS-1$
}
+
+ @Test public void testProcedureConflict() {
+ String sql = "create local temporary table MMSP6 (e1 string, e2 integer)"; //$NON-NLS-1$
+ helpResolveException(sql, RealMetadataFactory.exampleBQTCached()); //$NON-NLS-1$
+ }
@Test public void testCreatePk() {
String sql = "CREATE LOCAL TEMPORARY TABLE foo (column1 string, column2 integer, primary key (column1, column2))"; //$NON-NLS-1$
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -83,6 +83,10 @@
return CACHED_AGGREGATES;
}
+ public static DQPWorkContext buildWorkContext(TransformationMetadata metadata) {
+ return buildWorkContext(metadata, metadata.getVdbMetaData());
+ }
+
public static DQPWorkContext buildWorkContext(QueryMetadataInterface metadata, VDBMetaData vdb) {
DQPWorkContext workContext = new DQPWorkContext();
SessionMetadata session = new SessionMetadata();
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java 2011-03-17 14:41:44 UTC (rev 3001)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java 2011-03-17 15:11:14 UTC (rev 3002)
@@ -113,7 +113,7 @@
QueryNode vqtn2589f = new QueryNode("VQT.SmallA_2589f", "SELECT * FROM VQT.SmallA_2589"); //$NON-NLS-1$ //$NON-NLS-2$
Table vqtg2589f = createVirtualGroup("SmallA_2589f", vqt, vqtn2589f); //$NON-NLS-1$
- QueryNode vqtn2589g = new QueryNode("VQT.SmallA_2589g", "SELECT * FROM VQT.SmallA_2589b"); //$NON-NLS-1$ //$NON-NLS-2$
+ QueryNode vqtn2589g = new QueryNode("VQT.SmallA_2589g", "SELECT * FROM SmallA_2589b"); //$NON-NLS-1$ //$NON-NLS-2$
Table vqtg2589g = createVirtualGroup("SmallA_2589g", vqt, vqtn2589g); //$NON-NLS-1$
QueryNode vqtn2589h = new QueryNode("VQT.SmallA_2589h", "SELECT VQT.SmallA_2589.* FROM VQT.SmallA_2589 INNER JOIN BQT1.SmallB ON VQT.SmallA_2589.StringKey = SmallB.StringKey"); //$NON-NLS-1$ //$NON-NLS-2$
13 years, 2 months
teiid SVN: r3001 - in branches/7.1.x/engine/src: main/java/org/teiid/query/sql/lang and 2 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-17 10:41:44 -0400 (Thu, 17 Mar 2011)
New Revision: 3001
Modified:
branches/7.1.x/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/AbstractCompareCriteria.java
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/BetweenCriteria.java
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/CompareCriteria.java
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/Criteria.java
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/SubqueryCompareCriteria.java
branches/7.1.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
branches/7.1.x/engine/src/test/java/org/teiid/query/sql/lang/TestCriteria.java
Log:
TEIID-1498 fix for cnf rewrite clone issue
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -1159,7 +1159,7 @@
Criteria innerCrit = criteria.getCriteria();
if (innerCrit instanceof CompoundCriteria) {
//reduce to only negation of predicates, so that the null/unknown handling criteria is applied appropriately
- return rewriteCriteria(Criteria.toConjunctiveNormalForm(criteria));
+ return rewriteCriteria(Criteria.applyDemorgan(innerCrit));
}
if (innerCrit instanceof Negatable) {
((Negatable) innerCrit).negate();
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/AbstractCompareCriteria.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/AbstractCompareCriteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/AbstractCompareCriteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -23,6 +23,7 @@
package org.teiid.query.sql.lang;
import org.teiid.query.QueryPlugin;
+import org.teiid.query.sql.lang.PredicateCriteria.Negatable;
import org.teiid.query.sql.symbol.Expression;
/**
@@ -30,7 +31,7 @@
* {@link SubqueryCompareCriteria}. The comparison operators are defined
* here.</p>
*/
-public abstract class AbstractCompareCriteria extends PredicateCriteria {
+public abstract class AbstractCompareCriteria extends PredicateCriteria implements Negatable {
/** Constant indicating the two operands are equal. */
public static final int EQ = 1;
@@ -132,5 +133,22 @@
default: return "??"; //$NON-NLS-1$
}
}
+
+ @Override
+ public void negate() {
+ this.setOperator(getInverseOperator(this.getOperator()));
+ }
+
+ public static int getInverseOperator(int op) {
+ switch ( op ) {
+ case EQ: return NE;
+ case NE: return EQ;
+ case LT: return GE;
+ case GT: return LE;
+ case LE: return GT;
+ case GE: return LT;
+ default: return -1;
+ }
+ }
} // END CLASS
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/BetweenCriteria.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/BetweenCriteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/BetweenCriteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -24,14 +24,15 @@
import org.teiid.core.util.EquivalenceUtil;
import org.teiid.core.util.HashCodeUtil;
-import org.teiid.query.sql.*;
+import org.teiid.query.sql.LanguageVisitor;
+import org.teiid.query.sql.lang.PredicateCriteria.Negatable;
import org.teiid.query.sql.symbol.Expression;
/**
* Represents criteria such as: "<expression> [NOT] BETWEEN <lowerExpression> AND <upperExpression>".
*/
-public class BetweenCriteria extends PredicateCriteria {
+public class BetweenCriteria extends PredicateCriteria implements Negatable {
private Expression expression;
private Expression lowerExpression;
@@ -190,6 +191,11 @@
criteriaCopy.setNegated(isNegated());
return criteriaCopy;
}
+
+ @Override
+ public void negate() {
+ this.negated = !this.negated;
+ }
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/CompareCriteria.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/CompareCriteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/CompareCriteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -25,7 +25,6 @@
import org.teiid.core.util.EquivalenceUtil;
import org.teiid.core.util.HashCodeUtil;
import org.teiid.query.sql.LanguageVisitor;
-import org.teiid.query.sql.lang.PredicateCriteria.Negatable;
import org.teiid.query.sql.symbol.Expression;
@@ -42,7 +41,7 @@
* <LI>5 <= length(companyName)</LI>
* </UL>
*/
-public class CompareCriteria extends AbstractCompareCriteria implements Negatable {
+public class CompareCriteria extends AbstractCompareCriteria {
/** The right-hand expression. */
private Expression rightExpression;
@@ -174,21 +173,4 @@
return result;
}
- @Override
- public void negate() {
- this.setOperator(getInverseOperator(this.getOperator()));
- }
-
- public static int getInverseOperator(int op) {
- switch ( op ) {
- case EQ: return NE;
- case NE: return EQ;
- case LT: return GE;
- case GT: return LE;
- case LE: return GT;
- case GE: return LT;
- default: return -1;
- }
- }
-
} // END CLASS
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/Criteria.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/Criteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/Criteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -25,8 +25,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import org.teiid.core.types.DataTypeManager;
@@ -147,112 +145,36 @@
return compCrit;
}
- public static Criteria toDisjunctiveNormalForm(Criteria input) {
- return normalize(input, true);
- }
-
- public static Criteria toConjunctiveNormalForm(Criteria input) {
- return normalize(input, false);
- }
-
- /**
- * Returns a new criteria object in the equivalent normal form to the input.
- *
- * @param input
- * @return
- */
- static Criteria normalize(Criteria input, boolean dnf) {
+ public static Criteria applyDemorgan(Criteria input) {
- boolean invert = false;
-
if (input instanceof NotCriteria) {
NotCriteria not = (NotCriteria)input;
- Criteria child = not.getCriteria();
-
- if (child instanceof NotCriteria) {
- return normalize(((NotCriteria)child).getCriteria(), dnf);
- }
-
- if (child instanceof CompoundCriteria) {
- invert = true;
- input = child;
- }
+ return not.getCriteria();
}
if (!(input instanceof CompoundCriteria)) {
- return input;
+ return new NotCriteria(input);
}
CompoundCriteria compCrit = (CompoundCriteria)input;
- int operator = compCrit.getOperator();
+ int operator = (compCrit.getOperator()==CompoundCriteria.OR)?CompoundCriteria.AND:CompoundCriteria.OR;
- if (invert) {
- operator = (operator==CompoundCriteria.OR)?CompoundCriteria.AND:CompoundCriteria.OR;
- }
+ List<Criteria> criteria = new ArrayList<Criteria>(compCrit.getCriteria().size());
- List criteria = new ArrayList(compCrit.getCriteria().size());
- List parts = new LinkedList();
-
- for (Iterator i = compCrit.getCriteria().iterator(); i.hasNext();) {
- Criteria crit = (Criteria)i.next();
+ for (Criteria crit : compCrit.getCriteria()) {
- if (invert) {
- crit = new NotCriteria(crit);
- }
-
- crit = normalize(crit, dnf);
-
- if (crit instanceof CompoundCriteria) {
- CompoundCriteria child = (CompoundCriteria)crit;
-
- if (operator == child.getOperator()) {
- criteria.addAll(child.getCriteria());
- continue;
- }
-
- if ((dnf && operator == CompoundCriteria.AND) || (!dnf && operator == CompoundCriteria.OR)) {
- parts.add(child);
- continue;
- }
- }
+ crit = new NotCriteria(crit);
criteria.add(crit);
}
-
- if (parts.isEmpty()) {
- //no expansion needed, just return
- return new CompoundCriteria(operator, criteria);
- }
- int total = 1;
- int[] divisors = new int[parts.size()];
-
- for (int i = 0; i < parts.size(); i++) {
- divisors[i] = total;
- total *= ((CompoundCriteria)parts.get(i)).getCriteriaCount();
- }
-
- List newCrits = new ArrayList(total);
-
- for (int i = 0; i < total; i++) {
- CompoundCriteria crit = new CompoundCriteria(dnf?CompoundCriteria.AND:CompoundCriteria.OR, new ArrayList(parts.size() + criteria.size()));
- crit.getCriteria().addAll(criteria);
- for (int j = 0; j < parts.size(); j++) {
- CompoundCriteria disjunct = (CompoundCriteria)parts.get(j);
-
- Criteria part = (Criteria)disjunct.getCriteria().get((i/divisors[j])%disjunct.getCriteriaCount());
- crit.addCriteria(part);
- }
- newCrits.add(crit);
- }
-
- return new CompoundCriteria(!dnf?CompoundCriteria.AND:CompoundCriteria.OR, newCrits);
+ return new CompoundCriteria(operator, criteria);
}
@Override
- public Class getType() {
+ public Class<?> getType() {
return DataTypeManager.DefaultDataClasses.BOOLEAN;
}
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/SubqueryCompareCriteria.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/SubqueryCompareCriteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/lang/SubqueryCompareCriteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -213,5 +213,15 @@
public Expression getRightExpression() {
return new ScalarSubquery(getCommand());
}
+
+ @Override
+ public void negate() {
+ super.negate();
+ if (this.predicateQuantifier == ALL) {
+ this.predicateQuantifier = SOME;
+ } else {
+ this.predicateQuantifier = ALL;
+ }
+ }
}
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -2231,7 +2231,7 @@
@Test public void testRewriteNullHandling4() {
String original = "not((pm1.g1.e1 like '%' or pm1.g1.e1 = '1') and pm1.g1.e2 < 5)"; //$NON-NLS-1$
- String expected = "(pm1.g1.e2 < 5) AND ((pm1.g1.e2 < 5) OR (pm1.g1.e1 <> '1'))"; //$NON-NLS-1$
+ String expected = "pm1.g1.e2 >= 5"; //$NON-NLS-1$
helpTestRewriteCriteria(original, expected);
}
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/sql/lang/TestCriteria.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/sql/lang/TestCriteria.java 2011-03-17 14:25:04 UTC (rev 3000)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/sql/lang/TestCriteria.java 2011-03-17 14:41:44 UTC (rev 3001)
@@ -25,18 +25,12 @@
import java.util.Arrays;
import java.util.Collection;
-import org.teiid.api.exception.query.QueryParserException;
-import org.teiid.query.parser.QueryParser;
-import org.teiid.query.sql.lang.CompareCriteria;
-import org.teiid.query.sql.lang.CompoundCriteria;
-import org.teiid.query.sql.lang.Criteria;
-import org.teiid.query.sql.lang.NotCriteria;
+import junit.framework.TestCase;
+
import org.teiid.query.sql.symbol.Constant;
import org.teiid.query.sql.symbol.ElementSymbol;
-import junit.framework.*;
-
/**
*/
public class TestCriteria extends TestCase {
@@ -57,8 +51,8 @@
}
public void helpTestSeparateCriteria(Criteria originalCrit, Criteria[] partsArray) {
- Collection expectedParts = Arrays.asList(partsArray);
- Collection actualParts = Criteria.separateCriteriaByAnd(originalCrit);
+ Collection<Criteria> expectedParts = Arrays.asList(partsArray);
+ Collection<Criteria> actualParts = Criteria.separateCriteriaByAnd(originalCrit);
assertEquals("Didn't get the same parts ", expectedParts, actualParts); //$NON-NLS-1$
}
@@ -185,48 +179,5 @@
compCrit2.addCriteria(crit2);
helpTestCombineCriteria(crit3, compCrit, compCrit2);
}
-
- private void helpTestNormalize(String critString,
- String resultString, String cnfString) throws QueryParserException {
- QueryParser parser = new QueryParser();
- Criteria crit = parser.parseCriteria(critString);
-
- assertEquals(resultString, Criteria.normalize(crit, true).toString());
- assertEquals(cnfString, Criteria.normalize(crit, false).toString());
- }
- public void testNF() throws Exception {
- String critString = "((4 = '4') AND (5 = '5')) OR ((1 = '1') AND ((2 = '2') OR (3 = '3')))"; //$NON-NLS-1$
- String resultString = "((4 = '4') AND (5 = '5')) OR ((1 = '1') AND (2 = '2')) OR ((1 = '1') AND (3 = '3'))"; //$NON-NLS-1$
- String cnf = "((4 = '4') OR (1 = '1')) AND ((5 = '5') OR (1 = '1')) AND ((4 = '4') OR ((2 = '2') OR (3 = '3'))) AND ((5 = '5') OR ((2 = '2') OR (3 = '3')))"; //$NON-NLS-1$
- helpTestNormalize(critString, resultString, cnf);
- }
-
- public void testNF1() throws Exception {
- String critString = "4 = '4'"; //$NON-NLS-1$
- String resultString = "4 = '4'"; //$NON-NLS-1$
- helpTestNormalize(critString, resultString, resultString);
- }
-
- public void testNF2() throws Exception {
- String critString = "((4 = '4') OR (1 = '1') OR (2 = '2')) AND ((3 = '3') OR (5 = '5'))"; //$NON-NLS-1$
- String resultString = "((4 = '4') AND (3 = '3')) OR ((1 = '1') AND (3 = '3')) OR ((2 = '2') AND (3 = '3')) OR ((4 = '4') AND (5 = '5')) OR ((1 = '1') AND (5 = '5')) OR ((2 = '2') AND (5 = '5'))"; //$NON-NLS-1$
- String cnf = "((4 = '4') OR (1 = '1') OR (2 = '2')) AND ((3 = '3') OR (5 = '5'))"; //$NON-NLS-1$
- helpTestNormalize(critString, resultString, cnf);
- }
-
- public void testNF3() throws Exception {
- String critString = "NOT (((1 = '1') OR (2 = '2')) AND ((3 = '3') OR (5 = '5')))"; //$NON-NLS-1$
- String resultString = "((NOT (1 = '1')) AND (NOT (2 = '2'))) OR ((NOT (3 = '3')) AND (NOT (5 = '5')))"; //$NON-NLS-1$
- String cnf = "((NOT (1 = '1')) OR (NOT (3 = '3'))) AND ((NOT (2 = '2')) OR (NOT (3 = '3'))) AND ((NOT (1 = '1')) OR (NOT (5 = '5'))) AND ((NOT (2 = '2')) OR (NOT (5 = '5')))"; //$NON-NLS-1$
- helpTestNormalize(critString, resultString, cnf);
- }
-
- public void testNF4() throws Exception {
- String critString = "(1 = '1') OR (2 = '2')"; //$NON-NLS-1$
- String resultString = "(1 = '1') OR (2 = '2')"; //$NON-NLS-1$
- String cnf = "(1 = '1') OR (2 = '2')"; //$NON-NLS-1$
- helpTestNormalize(critString, resultString, cnf);
- }
-
}
13 years, 2 months
teiid SVN: r3000 - in trunk: engine/src/main/java/org/teiid/common/buffer/impl and 7 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-17 10:25:04 -0400 (Thu, 17 Mar 2011)
New Revision: 3000
Added:
trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java
Removed:
trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLUtil.java
Modified:
trunk/engine/src/main/java/org/teiid/common/buffer/impl/MemoryStorageManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
trunk/engine/src/main/java/org/teiid/query/function/aggregate/TextAgg.java
trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java
trunk/engine/src/main/java/org/teiid/query/processor/xml/DocumentInProgress.java
trunk/engine/src/main/java/org/teiid/query/xquery/saxon/SaxonXQueryExpression.java
trunk/runtime/src/main/java/org/teiid/transport/ObjectDecoder.java
trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
Log:
TEIID-1511 ensuring that remote streams get proactively cleaned up
Added: trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java (rev 0)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -0,0 +1,82 @@
+/*
+ * 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.common.buffer;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.Charset;
+
+import org.teiid.common.buffer.FileStore.FileStoreOutputStream;
+import org.teiid.core.types.DataTypeManager;
+import org.teiid.core.types.InputStreamFactory;
+
+public final class FileStoreInputStreamFactory extends InputStreamFactory {
+ private final FileStore lobBuffer;
+ private FileStoreOutputStream fsos;
+ private String encoding;
+
+ public FileStoreInputStreamFactory(FileStore lobBuffer, String encoding) {
+ this.encoding = encoding;
+ this.lobBuffer = lobBuffer;
+ this.lobBuffer.setCleanupReference(this);
+ }
+
+ @Override
+ public InputStream getInputStream() throws IOException {
+ if (fsos != null && !fsos.bytesWritten()) {
+ return new ByteArrayInputStream(fsos.getBuffer(), 0, fsos.getCount());
+ }
+ //TODO: adjust the buffer size, and/or develop a shared buffer strategy
+ return new BufferedInputStream(lobBuffer.createInputStream(0));
+ }
+
+ @Override
+ public long getLength() {
+ return lobBuffer.getLength();
+ }
+
+ public Writer getWriter() {
+ return new OutputStreamWriter(getOuputStream(), Charset.forName(encoding));
+ }
+
+ public FileStoreOutputStream getOuputStream() {
+ if (fsos == null) {
+ fsos = lobBuffer.createOutputStream(DataTypeManager.MAX_LOB_MEMORY_BYTES);
+ }
+ return fsos;
+ }
+
+ @Override
+ public void free() throws IOException {
+ lobBuffer.remove();
+ }
+
+ @Override
+ public boolean isPersistent() {
+ return true;
+ }
+}
\ No newline at end of file
Property changes on: trunk/engine/src/main/java/org/teiid/common/buffer/FileStoreInputStreamFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/impl/MemoryStorageManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/impl/MemoryStorageManager.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/impl/MemoryStorageManager.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -23,6 +23,7 @@
package org.teiid.common.buffer.impl;
import java.nio.ByteBuffer;
+import java.util.concurrent.atomic.AtomicInteger;
import org.teiid.common.buffer.FileStore;
import org.teiid.common.buffer.StorageManager;
@@ -31,11 +32,15 @@
public class MemoryStorageManager implements StorageManager {
+ private AtomicInteger created = new AtomicInteger();
+ private AtomicInteger removed = new AtomicInteger();
+
public void initialize() {
}
@Override
public FileStore createFileStore(String name) {
+ created.incrementAndGet();
return new FileStore() {
private ByteBuffer buffer = ByteBuffer.allocate(1 << 16);
@@ -53,6 +58,7 @@
@Override
public synchronized void removeDirect() {
+ removed.incrementAndGet();
buffer = ByteBuffer.allocate(0);
}
@@ -70,4 +76,12 @@
}
};
}
+
+ public int getCreated() {
+ return created.get();
+ }
+
+ public int getRemoved() {
+ return removed.get();
+ }
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -35,6 +35,7 @@
import org.teiid.client.SourceWarning;
import org.teiid.common.buffer.BlockedException;
import org.teiid.common.buffer.FileStore;
+import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
@@ -55,8 +56,7 @@
import org.teiid.dqp.internal.process.DQPCore.FutureWork;
import org.teiid.dqp.message.AtomicRequestMessage;
import org.teiid.dqp.message.AtomicResultsMessage;
-import org.teiid.query.processor.xml.XMLUtil;
-import org.teiid.query.processor.xml.XMLUtil.FileStoreInputStreamFactory;
+import org.teiid.query.function.source.XMLSystemFunctions;
import org.teiid.query.sql.symbol.SingleElementSymbol;
import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.TranslatorException;
@@ -192,7 +192,7 @@
StandardXMLTranslator sxt = new StandardXMLTranslator((Source)value);
SQLXMLImpl sqlxml;
try {
- sqlxml = XMLUtil.saveToBufferManager(dtm.getBufferManager(), sxt);
+ sqlxml = XMLSystemFunctions.saveToBufferManager(dtm.getBufferManager(), sxt);
} catch (TeiidComponentException e) {
throw new TeiidRuntimeException(e);
} catch (TeiidProcessingException e) {
Modified: trunk/engine/src/main/java/org/teiid/query/function/aggregate/TextAgg.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/aggregate/TextAgg.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/query/function/aggregate/TextAgg.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -31,13 +31,13 @@
import javax.sql.rowset.serial.SerialBlob;
import org.teiid.common.buffer.FileStore;
+import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.common.buffer.FileStore.FileStoreOutputStream;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.types.BlobImpl;
import org.teiid.core.types.BlobType;
import org.teiid.core.types.Streamable;
-import org.teiid.query.processor.xml.XMLUtil.FileStoreInputStreamFactory;
import org.teiid.query.sql.symbol.DerivedColumn;
import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.TextLine;
Modified: trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -78,17 +78,20 @@
import org.json.simple.parser.ContentHandler;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
+import org.teiid.common.buffer.BufferManager;
+import org.teiid.common.buffer.FileStore;
+import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.types.ClobImpl;
import org.teiid.core.types.ClobType;
import org.teiid.core.types.SQLXMLImpl;
+import org.teiid.core.types.Streamable;
import org.teiid.core.types.XMLTranslator;
import org.teiid.core.types.XMLType;
import org.teiid.core.types.XMLType.Type;
import org.teiid.query.eval.Evaluator;
import org.teiid.query.function.CharsetUtils;
-import org.teiid.query.processor.xml.XMLUtil;
import org.teiid.query.util.CommandContext;
import org.teiid.translator.WSConnection.Util;
@@ -245,7 +248,7 @@
final Transformer transformer = factory.newTransformer(styleSource);
//this creates a non-validated sqlxml - it may not be valid xml/root-less xml
- SQLXMLImpl result = XMLUtil.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+ SQLXMLImpl result = XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException {
@@ -273,7 +276,7 @@
return null;
}
- XMLType result = new XMLType(XMLUtil.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+ XMLType result = new XMLType(XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException,
@@ -309,7 +312,7 @@
*/
public static XMLType xmlElement(CommandContext context, final String name,
final Evaluator.NameValuePair<String>[] namespaces, final Evaluator.NameValuePair<?>[] attributes, final List<?> contents) throws TeiidComponentException, TeiidProcessingException {
- XMLType result = new XMLType(XMLUtil.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+ XMLType result = new XMLType(XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException,
@@ -383,7 +386,7 @@
return singleValue;
}
- XMLType result = new XMLType(XMLUtil.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+ XMLType result = new XMLType(XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException,
@@ -671,7 +674,7 @@
private static SQLXML jsonToXml(CommandContext context,
final String rootName, final Reader r) throws TeiidComponentException,
TeiidProcessingException {
- XMLType result = new XMLType(XMLUtil.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
+ XMLType result = new XMLType(XMLSystemFunctions.saveToBufferManager(context.getBufferManager(), new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException,
@@ -700,9 +703,31 @@
result.setType(Type.DOCUMENT);
return result;
}
+
+ /**
+ * This method saves the given XML object to the buffer manager's disk process
+ * Documents less than the maxMemorySize will be held directly in memory
+ */
+ public static SQLXMLImpl saveToBufferManager(BufferManager bufferMgr, XMLTranslator translator)
+ throws TeiidComponentException, TeiidProcessingException {
+ boolean success = false;
+ final FileStore lobBuffer = bufferMgr.createFileStore("xml"); //$NON-NLS-1$
+ FileStoreInputStreamFactory fsisf = new FileStoreInputStreamFactory(lobBuffer, Streamable.ENCODING);
+ try{
+ Writer writer = fsisf.getWriter();
+ translator.translate(writer);
+ writer.close();
+ success = true;
+ return new SQLXMLImpl(fsisf);
+ } catch(IOException e) {
+ throw new TeiidComponentException(e);
+ } catch(TransformerException e) {
+ throw new TeiidProcessingException(e);
+ } finally {
+ if (!success && lobBuffer != null) {
+ lobBuffer.remove();
+ }
+ }
+ }
- public static void main(String[] args) {
- System.out.println(Charset.availableCharsets());
- }
-
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/xml/DocumentInProgress.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/xml/DocumentInProgress.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/query/processor/xml/DocumentInProgress.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -33,12 +33,12 @@
import net.sf.saxon.TransformerFactoryImpl;
import org.teiid.common.buffer.FileStore;
+import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.types.SQLXMLImpl;
import org.teiid.logging.LogManager;
import org.teiid.logging.MessageLevel;
import org.teiid.query.mapping.xml.MappingNodeConstants;
-import org.teiid.query.processor.xml.XMLUtil.FileStoreInputStreamFactory;
import org.xml.sax.SAXException;
Deleted: trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLUtil.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLUtil.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/query/processor/xml/XMLUtil.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -1,122 +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.query.processor.xml;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.charset.Charset;
-
-import javax.xml.transform.TransformerException;
-
-import org.teiid.common.buffer.BufferManager;
-import org.teiid.common.buffer.FileStore;
-import org.teiid.common.buffer.FileStore.FileStoreOutputStream;
-import org.teiid.core.TeiidComponentException;
-import org.teiid.core.TeiidProcessingException;
-import org.teiid.core.types.DataTypeManager;
-import org.teiid.core.types.InputStreamFactory;
-import org.teiid.core.types.SQLXMLImpl;
-import org.teiid.core.types.Streamable;
-import org.teiid.core.types.XMLTranslator;
-
-/**
- * Utility methods to be used with the XML and XQuery processing.
- */
-public class XMLUtil {
-
- public static final class FileStoreInputStreamFactory extends InputStreamFactory {
- private final FileStore lobBuffer;
- private final FileStoreOutputStream fsos;
- private String encoding;
-
- public FileStoreInputStreamFactory(FileStore lobBuffer, String encoding) {
- this.encoding = encoding;
- this.lobBuffer = lobBuffer;
- fsos = lobBuffer.createOutputStream(DataTypeManager.MAX_LOB_MEMORY_BYTES);
- this.lobBuffer.setCleanupReference(this);
- }
-
- @Override
- public InputStream getInputStream() throws IOException {
- if (!fsos.bytesWritten()) {
- return new ByteArrayInputStream(fsos.getBuffer(), 0, fsos.getCount());
- }
- //TODO: adjust the buffer size, and/or develop a shared buffer strategy
- return new BufferedInputStream(lobBuffer.createInputStream(0));
- }
-
- @Override
- public long getLength() {
- return lobBuffer.getLength();
- }
-
- public Writer getWriter() {
- return new OutputStreamWriter(fsos, Charset.forName(encoding));
- }
-
- public FileStoreOutputStream getOuputStream() {
- return fsos;
- }
-
- @Override
- public void free() throws IOException {
- lobBuffer.remove();
- }
-
- @Override
- public boolean isPersistent() {
- return true;
- }
- }
-
- /**
- * This method saves the given XML object to the buffer manager's disk process
- * Documents less than the maxMemorySize will be held directly in memory
- */
- public static SQLXMLImpl saveToBufferManager(BufferManager bufferMgr, XMLTranslator translator)
- throws TeiidComponentException, TeiidProcessingException {
- boolean success = false;
- final FileStore lobBuffer = bufferMgr.createFileStore("xml"); //$NON-NLS-1$
- FileStoreInputStreamFactory fsisf = new FileStoreInputStreamFactory(lobBuffer, Streamable.ENCODING);
- try{
- Writer writer = fsisf.getWriter();
- translator.translate(writer);
- writer.close();
- success = true;
- return new SQLXMLImpl(fsisf);
- } catch(IOException e) {
- throw new TeiidComponentException(e);
- } catch(TransformerException e) {
- throw new TeiidProcessingException(e);
- } finally {
- if (!success && lobBuffer != null) {
- lobBuffer.remove();
- }
- }
- }
-
-}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/query/xquery/saxon/SaxonXQueryExpression.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/xquery/saxon/SaxonXQueryExpression.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/engine/src/main/java/org/teiid/query/xquery/saxon/SaxonXQueryExpression.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -83,7 +83,6 @@
import org.teiid.query.QueryPlugin;
import org.teiid.query.analysis.AnalysisRecord;
import org.teiid.query.function.source.XMLSystemFunctions;
-import org.teiid.query.processor.xml.XMLUtil;
import org.teiid.query.sql.lang.XMLTable;
import org.teiid.query.sql.lang.XMLTable.XMLColumn;
import org.teiid.query.sql.symbol.DerivedColumn;
@@ -446,7 +445,7 @@
if (next != null) {
type = Type.CONTENT;
}
- SQLXMLImpl xml = XMLUtil.saveToBufferManager(bufferManager, new XMLTranslator() {
+ SQLXMLImpl xml = XMLSystemFunctions.saveToBufferManager(bufferManager, new XMLTranslator() {
@Override
public void translate(Writer writer) throws TransformerException,
Modified: trunk/runtime/src/main/java/org/teiid/transport/ObjectDecoder.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/ObjectDecoder.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/runtime/src/main/java/org/teiid/transport/ObjectDecoder.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -22,10 +22,7 @@
*/
package org.teiid.transport;
-import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.StreamCorruptedException;
@@ -40,8 +37,9 @@
import org.jboss.netty.handler.codec.serialization.CompatibleObjectEncoder;
import org.jboss.netty.handler.codec.serialization.ObjectEncoder;
import org.teiid.common.buffer.FileStore;
+import org.teiid.common.buffer.FileStoreInputStreamFactory;
import org.teiid.common.buffer.StorageManager;
-import org.teiid.core.types.InputStreamFactory;
+import org.teiid.core.types.Streamable;
import org.teiid.core.types.InputStreamFactory.StreamFactoryReference;
import org.teiid.core.util.ExternalizeUtil;
import org.teiid.netty.handler.codec.serialization.CompactObjectInputStream;
@@ -144,14 +142,7 @@
if (stream == null) {
store = storageManager.createFileStore("temp-stream"); //$NON-NLS-1$
StreamFactoryReference sfr = streams.get(streamIndex);
- store.setCleanupReference(sfr);
- sfr.setStreamFactory(new InputStreamFactory() {
- FileStore fs = store;
- @Override
- public InputStream getInputStream() throws IOException {
- return new BufferedInputStream(fs.createInputStream(0));
- }
- });
+ sfr.setStreamFactory(new FileStoreInputStreamFactory(store, Streamable.ENCODING));
this.stream = new BufferedOutputStream(store.createOutputStream());
}
if (dataLen == 0) {
Modified: trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
===================================================================
--- trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2011-03-17 14:04:37 UTC (rev 2999)
+++ trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2011-03-17 14:25:04 UTC (rev 3000)
@@ -41,6 +41,7 @@
import org.teiid.client.security.SessionToken;
import org.teiid.client.util.ResultsFuture;
import org.teiid.common.buffer.BufferManagerFactory;
+import org.teiid.common.buffer.impl.MemoryStorageManager;
import org.teiid.core.ComponentNotFoundException;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.crypto.NullCryptor;
@@ -62,6 +63,7 @@
SocketListener listener;
private SocketServerConnectionFactory sscf;
private InetSocketAddress addr;
+ private MemoryStorageManager storageManager;
@Before public void setUp() {
addr = new InetSocketAddress(0);
@@ -125,8 +127,14 @@
SocketServerConnection conn = helpEstablishConnection(false);
FakeService fs = conn.getService(FakeService.class);
assertEquals(150, fs.lobMethod(new ByteArrayInputStream(new byte[100]), new StringReader(new String(new char[50]))));
+ assertEquals(2, storageManager.getCreated());
+ assertEquals(2, storageManager.getRemoved());
assertEquals(0, fs.lobMethod(new ByteArrayInputStream(new byte[0]), new StringReader(new String(new char[0]))));
+ assertEquals(4, storageManager.getCreated());
+ assertEquals(4, storageManager.getRemoved());
assertEquals((1 << 17) + 50, fs.lobMethod(new ByteArrayInputStream(new byte[1 << 17]), new StringReader(new String(new char[50]))));
+ assertEquals(6, storageManager.getCreated());
+ assertEquals(6, storageManager.getRemoved());
}
@Test public void testServerRemoteStreaming() throws Exception {
@@ -173,7 +181,8 @@
}, null);
server.registerClientService(FakeService.class, new TestSocketRemoting.FakeServiceImpl(), null);
- listener = new SocketListener(addr.getPort(), addr.getAddress().getHostAddress(), 1024, 1024, 1, config, server, BufferManagerFactory.getStandaloneBufferManager());
+ storageManager = new MemoryStorageManager();
+ listener = new SocketListener(addr.getPort(), addr.getAddress().getHostAddress(), 1024, 1024, 1, config, server, storageManager);
SocketListenerStats stats = listener.getStats();
assertEquals(0, stats.maxSockets);
13 years, 2 months
teiid SVN: r2999 - branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-17 10:04:37 -0400 (Thu, 17 Mar 2011)
New Revision: 2999
Modified:
branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
Log:
TEIID-1506 updating expected length results
Modified: branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
===================================================================
--- branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-03-17 03:48:37 UTC (rev 2998)
+++ branches/7.1.x/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-03-17 14:04:37 UTC (rev 2999)
@@ -1,42 +1,42 @@
integer integer string integer short short integer boolean boolean boolean
oid attrelid attname atttypid attlen attnum atttypmod attnotnull attisdropped atthasdef
-0 0 PART_ID 1043 4 1 4 false false false
-1 0 PART_NAME 1043 255 2 255 false false false
-2 0 PART_COLOR 1043 30 3 30 false false false
-3 0 PART_WEIGHT 1043 255 4 255 false false false
-4 1 SHIPPER_ID 21 0 1 0 false false false
-5 1 SHIPPER_NAME 1043 30 2 30 false false false
-6 2 STATUS_ID 21 0 1 0 false false false
-7 2 STATUS_NAME 1043 30 2 30 false false false
-8 3 SUPPLIER_ID 1043 10 1 10 false false false
-9 3 PART_ID 1043 4 2 4 false false false
-10 3 QUANTITY 21 0 3 0 false false false
-11 3 SHIPPER_ID 21 0 4 0 false false false
-12 4 SUPPLIER_ID 1043 10 1 10 false false false
-13 4 SUPPLIER_NAME 1043 30 2 30 false false false
-14 4 SUPPLIER_STATUS 21 0 3 0 false false false
-15 4 SUPPLIER_CITY 1043 30 4 30 false false false
-16 4 SUPPLIER_STATE 1043 2 5 2 false false false
-17 5 VDBName 1043 255 1 255 false false false
-18 5 SchemaName 1043 255 2 255 false false false
-19 5 Name 1043 255 3 255 false false false
-20 5 TargetSchemaName 1043 255 4 255 false false false
-21 5 TargetName 1043 4000 5 4000 false false false
-22 5 Valid 16 0 6 0 false false false
-23 5 LoadState 1043 255 7 255 false false false
-24 5 Updated 1114 0 8 0 false false false
-25 5 Cardinality 23 10 9 10 false false false
-26 6 resourcePath 1043 255 1 255 false false false
-27 6 contents 14939 0 2 0 false false false
-28 7 VDBName 1043 255 1 255 false false false
-29 7 SchemaName 1043 255 2 255 false false false
-30 7 TableName 1043 255 3 255 false false false
-31 7 Name 1043 255 4 255 false false false
-32 7 Position 23 10 5 10 false false false
-33 7 NameInSource 1043 255 6 255 false false false
-34 7 DataType 1043 100 7 100 false false false
-35 7 Scale 23 10 8 10 false false false
-36 7 Length 23 10 9 10 false false false
+0 0 PART_ID 1043 -1 1 4 false false false
+1 0 PART_NAME 1043 -1 2 255 false false false
+2 0 PART_COLOR 1043 -1 3 30 false false false
+3 0 PART_WEIGHT 1043 -1 4 255 false false false
+4 1 SHIPPER_ID 21 2 1 0 false false false
+5 1 SHIPPER_NAME 1043 -1 2 30 false false false
+6 2 STATUS_ID 21 2 1 0 false false false
+7 2 STATUS_NAME 1043 -1 2 30 false false false
+8 3 SUPPLIER_ID 1043 -1 1 10 false false false
+9 3 PART_ID 1043 -1 2 4 false false false
+10 3 QUANTITY 21 2 3 0 false false false
+11 3 SHIPPER_ID 21 2 4 0 false false false
+12 4 SUPPLIER_ID 1043 -1 1 10 false false false
+13 4 SUPPLIER_NAME 1043 -1 2 30 false false false
+14 4 SUPPLIER_STATUS 21 2 3 0 false false false
+15 4 SUPPLIER_CITY 1043 -1 4 30 false false false
+16 4 SUPPLIER_STATE 1043 -1 5 2 false false false
+17 5 VDBName 1043 -1 1 255 false false false
+18 5 SchemaName 1043 -1 2 255 false false false
+19 5 Name 1043 -1 3 255 false false false
+20 5 TargetSchemaName 1043 -1 4 255 false false false
+21 5 TargetName 1043 -1 5 4000 false false false
+22 5 Valid 16 1 6 0 false false false
+23 5 LoadState 1043 -1 7 255 false false false
+24 5 Updated 1114 8 8 0 false false false
+25 5 Cardinality 23 4 9 10 false false false
+26 6 resourcePath 1043 -1 1 255 false false false
+27 6 contents 14939 -1 2 0 false false false
+28 7 VDBName 1043 -1 1 255 false false false
+29 7 SchemaName 1043 -1 2 255 false false false
+30 7 TableName 1043 -1 3 255 false false false
+31 7 Name 1043 -1 4 255 false false false
+32 7 Position 23 4 5 10 false false false
+33 7 NameInSource 1043 -1 6 255 false false false
+34 7 DataType 1043 -1 7 100 false false false
+35 7 Scale 23 4 8 10 false false false
+36 7 Length 23 4 9 10 false false false
37 7 IsLengthFixed 16 1 10 1 false false false
38 7 SupportsSelect 16 1 11 1 false false false
39 7 SupportsUpdates 16 1 12 1 false false false
@@ -44,198 +44,198 @@
41 7 IsSigned 16 1 14 1 false false false
42 7 IsCurrency 16 1 15 1 false false false
43 7 IsAutoIncremented 16 1 16 1 false false false
-44 7 NullType 1043 20 17 20 false false false
-45 7 MinRange 1043 50 18 50 false false false
-46 7 MaxRange 1043 50 19 50 false false false
-47 7 SearchType 1043 20 20 20 false false false
-48 7 Format 1043 255 21 255 false false false
-49 7 DefaultValue 1043 255 22 255 false false false
-50 7 JavaClass 1043 500 23 500 false false false
-51 7 Precision 23 10 24 10 false false false
-52 7 CharOctetLength 23 10 25 10 false false false
-53 7 Radix 23 10 26 10 false false false
-54 7 UID 1043 50 27 50 false false false
-55 7 Description 1043 255 28 255 false false false
-56 7 OID 23 10 29 10 false false false
-57 8 Name 1043 100 1 100 false false false
+44 7 NullType 1043 -1 17 20 false false false
+45 7 MinRange 1043 -1 18 50 false false false
+46 7 MaxRange 1043 -1 19 50 false false false
+47 7 SearchType 1043 -1 20 20 false false false
+48 7 Format 1043 -1 21 255 false false false
+49 7 DefaultValue 1043 -1 22 255 false false false
+50 7 JavaClass 1043 -1 23 500 false false false
+51 7 Precision 23 4 24 10 false false false
+52 7 CharOctetLength 23 4 25 10 false false false
+53 7 Radix 23 4 26 10 false false false
+54 7 UID 1043 -1 27 50 false false false
+55 7 Description 1043 -1 28 255 false false false
+56 7 OID 23 4 29 10 false false false
+57 8 Name 1043 -1 1 100 false false false
58 8 IsStandard 16 1 2 1 false false false
59 8 IsPhysical 16 1 3 1 false false false
-60 8 TypeName 1043 100 4 100 false false false
-61 8 JavaClass 1043 500 5 500 false false false
-62 8 Scale 23 10 6 10 false false false
-63 8 TypeLength 23 10 7 10 false false false
-64 8 NullType 1043 20 8 20 false false false
+60 8 TypeName 1043 -1 4 100 false false false
+61 8 JavaClass 1043 -1 5 500 false false false
+62 8 Scale 23 4 6 10 false false false
+63 8 TypeLength 23 4 7 10 false false false
+64 8 NullType 1043 -1 8 20 false false false
65 8 IsSigned 16 1 9 1 false false false
66 8 IsAutoIncremented 16 1 10 1 false false false
67 8 IsCaseSensitive 16 1 11 1 false false false
-68 8 Precision 23 10 12 10 false false false
-69 8 Radix 23 10 13 10 false false false
-70 8 SearchType 1043 20 14 20 false false false
-71 8 UID 1043 50 15 50 false false false
-72 8 RuntimeType 1043 64 16 64 false false false
-73 8 BaseType 1043 64 17 64 false false false
-74 8 Description 1043 255 18 255 false false false
-75 8 OID 23 10 19 10 false false false
-76 9 VDBName 1043 255 1 255 false false false
-77 9 SchemaName 1043 255 2 255 false false false
-78 9 TableName 1043 2048 3 2048 false false false
-79 9 Name 1043 255 4 255 false false false
-80 9 KeyName 1043 255 5 255 false false false
-81 9 KeyType 1043 20 6 20 false false false
-82 9 RefKeyUID 1043 50 7 50 false false false
-83 9 UID 1043 50 8 50 false false false
-84 9 Position 23 10 9 10 false false false
-85 9 OID 23 10 10 10 false false false
-86 10 VDBName 1043 255 1 255 false false false
-87 10 SchemaName 1043 255 2 255 false false false
-88 10 TableName 1043 2048 3 2048 false false false
-89 10 Name 1043 255 4 255 false false false
-90 10 Description 1043 255 5 255 false false false
-91 10 NameInSource 1043 255 6 255 false false false
-92 10 Type 1043 20 7 20 false false false
+68 8 Precision 23 4 12 10 false false false
+69 8 Radix 23 4 13 10 false false false
+70 8 SearchType 1043 -1 14 20 false false false
+71 8 UID 1043 -1 15 50 false false false
+72 8 RuntimeType 1043 -1 16 64 false false false
+73 8 BaseType 1043 -1 17 64 false false false
+74 8 Description 1043 -1 18 255 false false false
+75 8 OID 23 4 19 10 false false false
+76 9 VDBName 1043 -1 1 255 false false false
+77 9 SchemaName 1043 -1 2 255 false false false
+78 9 TableName 1043 -1 3 2048 false false false
+79 9 Name 1043 -1 4 255 false false false
+80 9 KeyName 1043 -1 5 255 false false false
+81 9 KeyType 1043 -1 6 20 false false false
+82 9 RefKeyUID 1043 -1 7 50 false false false
+83 9 UID 1043 -1 8 50 false false false
+84 9 Position 23 4 9 10 false false false
+85 9 OID 23 4 10 10 false false false
+86 10 VDBName 1043 -1 1 255 false false false
+87 10 SchemaName 1043 -1 2 255 false false false
+88 10 TableName 1043 -1 3 2048 false false false
+89 10 Name 1043 -1 4 255 false false false
+90 10 Description 1043 -1 5 255 false false false
+91 10 NameInSource 1043 -1 6 255 false false false
+92 10 Type 1043 -1 7 20 false false false
93 10 IsIndexed 16 1 8 1 false false false
-94 10 RefKeyUID 1043 50 9 50 false false false
-95 10 UID 1043 50 10 50 false false false
-96 10 OID 23 10 11 10 false false false
-97 11 VDBName 1043 255 1 255 false false false
-98 11 SchemaName 1043 255 2 255 false false false
-99 11 ProcedureName 1043 255 3 255 false false false
-100 11 Name 1043 255 4 255 false false false
-101 11 DataType 1043 25 5 25 false false false
-102 11 Position 23 10 6 10 false false false
-103 11 Type 1043 100 7 100 false false false
+94 10 RefKeyUID 1043 -1 9 50 false false false
+95 10 UID 1043 -1 10 50 false false false
+96 10 OID 23 4 11 10 false false false
+97 11 VDBName 1043 -1 1 255 false false false
+98 11 SchemaName 1043 -1 2 255 false false false
+99 11 ProcedureName 1043 -1 3 255 false false false
+100 11 Name 1043 -1 4 255 false false false
+101 11 DataType 1043 -1 5 25 false false false
+102 11 Position 23 4 6 10 false false false
+103 11 Type 1043 -1 7 100 false false false
104 11 Optional 16 1 8 1 false false false
-105 11 Precision 23 10 9 10 false false false
-106 11 TypeLength 23 10 10 10 false false false
-107 11 Scale 23 10 11 10 false false false
-108 11 Radix 23 10 12 10 false false false
-109 11 NullType 1043 10 13 10 false false false
-110 11 UID 1043 50 14 50 false false false
-111 11 Description 1043 255 15 255 false false false
-112 11 OID 23 10 16 10 false false false
-113 12 VDBName 1043 255 1 255 false false false
-114 12 SchemaName 1043 255 2 255 false false false
-115 12 Name 1043 255 3 255 false false false
-116 12 NameInSource 1043 255 4 255 false false false
+105 11 Precision 23 4 9 10 false false false
+106 11 TypeLength 23 4 10 10 false false false
+107 11 Scale 23 4 11 10 false false false
+108 11 Radix 23 4 12 10 false false false
+109 11 NullType 1043 -1 13 10 false false false
+110 11 UID 1043 -1 14 50 false false false
+111 11 Description 1043 -1 15 255 false false false
+112 11 OID 23 4 16 10 false false false
+113 12 VDBName 1043 -1 1 255 false false false
+114 12 SchemaName 1043 -1 2 255 false false false
+115 12 Name 1043 -1 3 255 false false false
+116 12 NameInSource 1043 -1 4 255 false false false
117 12 ReturnsResults 16 1 5 1 false false false
-118 12 UID 1043 50 6 50 false false false
-119 12 Description 1043 255 7 255 false false false
-120 12 OID 23 10 8 10 false false false
-121 13 Name 1043 255 1 255 false false false
-122 13 Value 1043 255 2 255 false false false
-123 13 UID 1043 50 3 50 false false false
-124 13 OID 23 10 4 10 false false false
-125 14 PKTABLE_CAT 1043 255 1 255 false false false
-126 14 PKTABLE_SCHEM 1043 255 2 255 false false false
-127 14 PKTABLE_NAME 1043 255 3 255 false false false
-128 14 PKCOLUMN_NAME 1043 255 4 255 false false false
-129 14 FKTABLE_CAT 1043 255 5 255 false false false
-130 14 FKTABLE_SCHEM 1043 255 6 255 false false false
-131 14 FKTABLE_NAME 1043 255 7 255 false false false
-132 14 FKCOLUMN_NAME 1043 255 8 255 false false false
-133 14 KEY_SEQ 21 5 9 5 false false false
-134 14 UPDATE_RULE 23 10 10 10 false false false
-135 14 DELETE_RULE 23 10 11 10 false false false
-136 14 FK_NAME 1043 255 12 255 false false false
-137 14 PK_NAME 1043 255 13 255 false false false
-138 14 DEFERRABILITY 23 10 14 10 false false false
-139 15 VDBName 1043 255 1 255 false false false
-140 15 Name 1043 255 2 255 false false false
+118 12 UID 1043 -1 6 50 false false false
+119 12 Description 1043 -1 7 255 false false false
+120 12 OID 23 4 8 10 false false false
+121 13 Name 1043 -1 1 255 false false false
+122 13 Value 1043 -1 2 255 false false false
+123 13 UID 1043 -1 3 50 false false false
+124 13 OID 23 4 4 10 false false false
+125 14 PKTABLE_CAT 1043 -1 1 255 false false false
+126 14 PKTABLE_SCHEM 1043 -1 2 255 false false false
+127 14 PKTABLE_NAME 1043 -1 3 255 false false false
+128 14 PKCOLUMN_NAME 1043 -1 4 255 false false false
+129 14 FKTABLE_CAT 1043 -1 5 255 false false false
+130 14 FKTABLE_SCHEM 1043 -1 6 255 false false false
+131 14 FKTABLE_NAME 1043 -1 7 255 false false false
+132 14 FKCOLUMN_NAME 1043 -1 8 255 false false false
+133 14 KEY_SEQ 21 2 9 5 false false false
+134 14 UPDATE_RULE 23 4 10 10 false false false
+135 14 DELETE_RULE 23 4 11 10 false false false
+136 14 FK_NAME 1043 -1 12 255 false false false
+137 14 PK_NAME 1043 -1 13 255 false false false
+138 14 DEFERRABILITY 23 4 14 10 false false false
+139 15 VDBName 1043 -1 1 255 false false false
+140 15 Name 1043 -1 2 255 false false false
141 15 IsPhysical 16 1 3 1 false false false
-142 15 UID 1043 50 4 50 false false false
-143 15 Description 1043 255 5 255 false false false
-144 15 PrimaryMetamodelURI 1043 255 6 255 false false false
-145 15 OID 23 10 7 10 false false false
-146 16 VDBName 1043 255 1 255 false false false
-147 16 SchemaName 1043 255 2 255 false false false
-148 16 Name 1043 255 3 255 false false false
-149 16 Type 1043 20 4 20 false false false
-150 16 NameInSource 1043 255 5 255 false false false
+142 15 UID 1043 -1 4 50 false false false
+143 15 Description 1043 -1 5 255 false false false
+144 15 PrimaryMetamodelURI 1043 -1 6 255 false false false
+145 15 OID 23 4 7 10 false false false
+146 16 VDBName 1043 -1 1 255 false false false
+147 16 SchemaName 1043 -1 2 255 false false false
+148 16 Name 1043 -1 3 255 false false false
+149 16 Type 1043 -1 4 20 false false false
+150 16 NameInSource 1043 -1 5 255 false false false
151 16 IsPhysical 16 1 6 1 false false false
152 16 SupportsUpdates 16 1 7 1 false false false
-153 16 UID 1043 50 8 50 false false false
-154 16 Cardinality 23 10 9 10 false false false
-155 16 Description 1043 255 10 255 false false false
+153 16 UID 1043 -1 8 50 false false false
+154 16 Cardinality 23 4 9 10 false false false
+155 16 Description 1043 -1 10 255 false false false
156 16 IsSystem 16 1 11 1 false false false
-157 16 IsMaterialized 16 0 12 0 false false false
-158 16 OID 23 10 13 10 false false false
-159 17 Name 1043 255 1 255 false false false
-160 17 Version 1043 50 2 50 false false false
-161 18 oid 23 0 1 0 false false false
-162 18 nspname 1043 0 2 0 false false false
-163 19 oid 23 0 1 0 false false false
-164 19 relname 1043 0 2 0 false false false
-165 19 relnamespace 23 0 3 0 false false false
-166 19 relkind 1042 0 4 0 false false false
-167 19 relam 23 0 5 0 false false false
-168 19 reltuples 700 0 6 0 false false false
-169 19 relpages 23 0 7 0 false false false
-170 19 relhasrules 16 0 8 0 false false false
-171 19 relhasoids 1043 0 9 0 false false false
-172 20 oid 23 0 1 0 false false false
-173 20 attrelid 23 0 2 0 false false false
-174 20 attname 1043 0 3 0 false false false
-175 20 atttypid 23 0 4 0 false false false
-176 20 attlen 21 0 5 0 false false false
-177 20 attnum 21 0 6 0 false false false
-178 20 atttypmod 23 0 7 0 false false false
-179 20 attnotnull 16 0 8 0 false false false
-180 20 attisdropped 16 0 9 0 false false false
-181 20 atthasdef 16 0 10 0 false false false
-182 21 oid 23 0 1 0 false false false
-183 21 typname 1043 0 2 0 false false false
-184 21 typnamespace 23 0 3 0 false false false
-185 21 typlen 21 0 4 0 false false false
-186 21 typtype 1042 0 5 0 false false false
-187 21 typbasetype 23 0 6 0 false false false
-188 21 typtypmod 23 0 7 0 false false false
-189 21 typrelid 23 0 8 0 false false false
-190 22 oid 23 0 1 0 false false false
-191 22 indexrelid 23 0 2 0 false false false
-192 22 indrelid 23 0 3 0 false false false
-193 22 indisclustered 16 0 4 0 false false false
-194 22 indisunique 16 0 5 0 false false false
-195 22 indisprimary 16 0 6 0 false false false
-196 22 indexprs 1043 0 7 0 false false false
-197 22 indkey 1043 0 8 0 false false false
-198 23 oid 23 0 1 0 false false false
-199 23 amname 1043 0 2 0 false false false
-200 24 oid 23 0 1 0 false false false
-201 24 proname 1043 0 2 0 false false false
-202 24 proretset 16 0 3 0 false false false
-203 24 prorettype 23 0 4 0 false false false
-204 24 pronargs 21 0 5 0 false false false
-205 24 proargtypes <null> 0 6 0 false false false
-206 24 proargnames <null> 0 7 0 false false false
-207 24 proargmodes <null> 0 8 0 false false false
-208 24 proallargtypes <null> 0 9 0 false false false
-209 24 pronamespace 23 0 10 0 false false false
-210 25 oid 23 0 1 0 false false false
-211 25 tgconstrrelid 23 0 2 0 false false false
-212 25 tgfoid 23 0 3 0 false false false
-213 25 tgargs 23 0 4 0 false false false
-214 25 tgnargs 23 0 5 0 false false false
-215 25 tgdeferrable 16 0 6 0 false false false
-216 25 tginitdeferred 16 0 7 0 false false false
-217 25 tgconstrname 1043 0 8 0 false false false
-218 25 tgrelid 23 0 9 0 false false false
-219 26 oid 23 0 1 0 false false false
-220 26 adsrc 23 0 2 0 false false false
-221 26 adrelid 23 0 3 0 false false false
-222 26 adnum 23 0 4 0 false false false
-223 27 oid 23 0 1 0 false false false
-224 27 datname 1043 0 2 0 false false false
-225 27 encoding 23 0 3 0 false false false
-226 27 datlastsysoid 23 0 4 0 false false false
-227 27 datallowconn 1042 0 5 0 false false false
-228 27 datconfig <null> 0 6 0 false false false
-229 27 datacl <null> 0 7 0 false false false
-230 27 datdba 23 0 8 0 false false false
-231 27 dattablespace 23 0 9 0 false false false
-232 28 oid 23 0 1 0 false false false
-233 28 usename 1043 0 2 0 false false false
-234 28 usecreatedb 16 0 3 0 false false false
-235 28 usesuper 16 0 4 0 false false false
+157 16 IsMaterialized 16 1 12 0 false false false
+158 16 OID 23 4 13 10 false false false
+159 17 Name 1043 -1 1 255 false false false
+160 17 Version 1043 -1 2 50 false false false
+161 18 oid 23 4 1 0 false false false
+162 18 nspname 1043 -1 2 0 false false false
+163 19 oid 23 4 1 0 false false false
+164 19 relname 1043 -1 2 0 false false false
+165 19 relnamespace 23 4 3 0 false false false
+166 19 relkind 1042 1 4 0 false false false
+167 19 relam 23 4 5 0 false false false
+168 19 reltuples 700 4 6 0 false false false
+169 19 relpages 23 4 7 0 false false false
+170 19 relhasrules 16 1 8 0 false false false
+171 19 relhasoids 1043 -1 9 0 false false false
+172 20 oid 23 4 1 0 false false false
+173 20 attrelid 23 4 2 0 false false false
+174 20 attname 1043 -1 3 0 false false false
+175 20 atttypid 23 4 4 0 false false false
+176 20 attlen 21 2 5 0 false false false
+177 20 attnum 21 2 6 0 false false false
+178 20 atttypmod 23 4 7 0 false false false
+179 20 attnotnull 16 1 8 0 false false false
+180 20 attisdropped 16 1 9 0 false false false
+181 20 atthasdef 16 1 10 0 false false false
+182 21 oid 23 4 1 0 false false false
+183 21 typname 1043 -1 2 0 false false false
+184 21 typnamespace 23 4 3 0 false false false
+185 21 typlen 21 2 4 0 false false false
+186 21 typtype 1042 1 5 0 false false false
+187 21 typbasetype 23 4 6 0 false false false
+188 21 typtypmod 23 4 7 0 false false false
+189 21 typrelid 23 4 8 0 false false false
+190 22 oid 23 4 1 0 false false false
+191 22 indexrelid 23 4 2 0 false false false
+192 22 indrelid 23 4 3 0 false false false
+193 22 indisclustered 16 1 4 0 false false false
+194 22 indisunique 16 1 5 0 false false false
+195 22 indisprimary 16 1 6 0 false false false
+196 22 indexprs 1043 -1 7 0 false false false
+197 22 indkey 1043 -1 8 0 false false false
+198 23 oid 23 4 1 0 false false false
+199 23 amname 1043 -1 2 0 false false false
+200 24 oid 23 4 1 0 false false false
+201 24 proname 1043 -1 2 0 false false false
+202 24 proretset 16 1 3 0 false false false
+203 24 prorettype 23 4 4 0 false false false
+204 24 pronargs 21 2 5 0 false false false
+205 24 proargtypes <null> <null> 6 0 false false false
+206 24 proargnames <null> <null> 7 0 false false false
+207 24 proargmodes <null> <null> 8 0 false false false
+208 24 proallargtypes <null> <null> 9 0 false false false
+209 24 pronamespace 23 4 10 0 false false false
+210 25 oid 23 4 1 0 false false false
+211 25 tgconstrrelid 23 4 2 0 false false false
+212 25 tgfoid 23 4 3 0 false false false
+213 25 tgargs 23 4 4 0 false false false
+214 25 tgnargs 23 4 5 0 false false false
+215 25 tgdeferrable 16 1 6 0 false false false
+216 25 tginitdeferred 16 1 7 0 false false false
+217 25 tgconstrname 1043 -1 8 0 false false false
+218 25 tgrelid 23 4 9 0 false false false
+219 26 oid 23 4 1 0 false false false
+220 26 adsrc 23 4 2 0 false false false
+221 26 adrelid 23 4 3 0 false false false
+222 26 adnum 23 4 4 0 false false false
+223 27 oid 23 4 1 0 false false false
+224 27 datname 1043 -1 2 0 false false false
+225 27 encoding 23 4 3 0 false false false
+226 27 datlastsysoid 23 4 4 0 false false false
+227 27 datallowconn 1042 1 5 0 false false false
+228 27 datconfig <null> <null> 6 0 false false false
+229 27 datacl <null> <null> 7 0 false false false
+230 27 datdba 23 4 8 0 false false false
+231 27 dattablespace 23 4 9 0 false false false
+232 28 oid 23 4 1 0 false false false
+233 28 usename 1043 -1 2 0 false false false
+234 28 usecreatedb 16 1 3 0 false false false
+235 28 usesuper 16 1 4 0 false false false
Row Count : 236
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
oid 4 PartsSupplier java.lang.Integer oid integer pg_catalog pg_attribute 11 10 0 false false false false 2 true true false false
13 years, 2 months
teiid SVN: r2998 - in branches/7.1.x/engine/src: test/java/org/teiid/cache and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2011-03-16 23:48:37 -0400 (Wed, 16 Mar 2011)
New Revision: 2998
Modified:
branches/7.1.x/engine/src/main/java/org/teiid/cache/DefaultCache.java
branches/7.1.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java
Log:
TEIID-1492 fix for stackoverflow in defaultcache
Modified: branches/7.1.x/engine/src/main/java/org/teiid/cache/DefaultCache.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/cache/DefaultCache.java 2011-03-17 03:43:53 UTC (rev 2997)
+++ branches/7.1.x/engine/src/main/java/org/teiid/cache/DefaultCache.java 2011-03-17 03:48:37 UTC (rev 2998)
@@ -24,9 +24,9 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -71,7 +71,7 @@
protected Map<String, Cache> children = new ConcurrentHashMap<String, Cache>();
protected String name;
protected long ttl;
- protected LinkedHashSet<ExpirationEntry<K, V>> expirationQueue = new LinkedHashSet<ExpirationEntry<K, V>>();
+ protected Set<ExpirationEntry<K, V>> expirationQueue;
public DefaultCache(String name) {
this(name, DEFAULT_MAX_SIZE_TOTAL, DEFAULT_MAX_SIZE_TOTAL);
@@ -83,12 +83,14 @@
protected boolean removeEldestEntry(java.util.Map.Entry<K, ExpirationEntry<K, V>> eldest) {
if (super.removeEldestEntry(eldest)) {
Iterator<ExpirationEntry<K, V>> iter = expirationQueue.iterator();
- return validate(iter.next()) != null;
+ if (validate(iter.next()) != null) {
+ DefaultCache.this.remove(eldest.getKey());
+ }
}
return false;
}
};
-
+ this.expirationQueue = Collections.newSetFromMap(new LRUCache<ExpirationEntry<K, V>, Boolean>(maxEntries));
this.name = name;
this.ttl = ttl;
}
@@ -147,10 +149,13 @@
}
public V put(K key, V value, Long timeToLive) {
+ if (this.map.getSpaceLimit() == 0) {
+ return null;
+ }
synchronized (map) {
ExpirationEntry<K, V> entry = new ExpirationEntry<K, V>(getExpirationTime(ttl, timeToLive), key, value);
+ ExpirationEntry<K, V> result = map.put(key, entry);
expirationQueue.add(entry);
- ExpirationEntry<K, V> result = map.put(key, entry);
if (result != null) {
return result.value;
}
@@ -160,10 +165,9 @@
public V remove(K key) {
synchronized (map) {
- ExpirationEntry<K, V> entry = new ExpirationEntry<K, V>(-1, key, null);
- ExpirationEntry<K, V> result = map.put(key, entry);
+ ExpirationEntry<K, V> result = map.remove(key);
if (result != null) {
- expirationQueue.remove(entry);
+ expirationQueue.remove(result);
return result.value;
}
return null;
@@ -225,4 +229,12 @@
}
}
+ Set<ExpirationEntry<K, V>> getExpirationQueue() {
+ return expirationQueue;
+ }
+
+ LRUCache<K, ExpirationEntry<K, V>> getCacheMap() {
+ return map;
+ }
+
}
\ No newline at end of file
Modified: branches/7.1.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java 2011-03-17 03:43:53 UTC (rev 2997)
+++ branches/7.1.x/engine/src/test/java/org/teiid/cache/TestDefaultCache.java 2011-03-17 03:48:37 UTC (rev 2998)
@@ -43,5 +43,29 @@
//preferred to purge 2 instead of 3
assertNotNull(cache.get(3));
}
+
+ @Test public void testExpirationAtMaxSize() throws Exception {
+ DefaultCache<Integer, Integer> cache = new DefaultCache<Integer, Integer>("foo", 2, 70);
+ cache.put(1, 1);
+ cache.put(2, 2);
+ cache.put(3, 3);
+ assertEquals(2, cache.getCacheMap().size());
+ assertEquals(2, cache.getExpirationQueue().size());
+ Thread.sleep(100);
+ cache.put(4, 4);
+ cache.put(5, 5);
+ cache.get(4);
+ cache.put(6, 6);
+ assertEquals(2, cache.getCacheMap().size());
+ assertEquals(2, cache.getExpirationQueue().size());
+ assertNotNull(cache.get(4));
+ assertNotNull(cache.get(6));
+ }
+
+ @Test public void testZeroSize() throws Exception {
+ DefaultCache<Integer, Integer> cache = new DefaultCache<Integer, Integer>("foo", 0, 70);
+ cache.put(1, 1);
+ assertEquals(0, cache.size());
+ }
}
13 years, 2 months