Author: shawkins
Date: 2011-04-27 22:55:13 -0400 (Wed, 27 Apr 2011)
New Revision: 3126
Added:
trunk/api/src/main/java/org/teiid/metadata/MetadataRepository.java
trunk/metadata/system-vdb-update.txt
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestMetadataUpdates.java
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestStats.java
trunk/test-integration/common/src/test/resources/metadata.vdb
Removed:
trunk/api/src/main/java/org/teiid/metadata/MetadataProvider.java
trunk/api/src/main/java/org/teiid/metadata/ViewDefinition.java
Modified:
trunk/api/src/main/java/org/teiid/events/EventDistributor.java
trunk/api/src/main/java/org/teiid/metadata/Column.java
trunk/api/src/main/java/org/teiid/metadata/ColumnStats.java
trunk/api/src/main/java/org/teiid/metadata/Procedure.java
trunk/api/src/main/java/org/teiid/metadata/Table.java
trunk/api/src/main/java/org/teiid/metadata/TableStats.java
trunk/build/kits/jboss-container/teiid-releasenotes.html
trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml
trunk/documentation/reference/src/main/docbook/en-US/content/system_schema.xml
trunk/engine/src/main/java/org/teiid/dqp/internal/process/AccessInfo.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java
trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java
trunk/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java
trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java
trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java
trunk/engine/src/test/java/org/teiid/query/processor/relational/TestBatchedUpdateNode.java
trunk/engine/src/test/java/org/teiid/query/processor/relational/TestProjectIntoNode.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
trunk/metadata/src/main/resources/System.vdb
trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
Log:
TEIID-1326 TEIID-245 refinement of logic for runtime update of metadata
Modified: trunk/api/src/main/java/org/teiid/events/EventDistributor.java
===================================================================
--- trunk/api/src/main/java/org/teiid/events/EventDistributor.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/events/EventDistributor.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -63,9 +63,11 @@
* @param tableNames
*/
void dataModification(String vdbName, int vdbVersion, String schema, String... tableNames);
+
+ void setColumnStats(String vdbName, int vdbVersion, String schemaName,
+ String tableName, String columnName, ColumnStats stats);
+
+ void setTableStats(String vdbName, int vdbVersion, String schemaName,
+ String tableName, TableStats stats);
- void setTableStats(String vdbName, int vdbVersion, String schemaName, String tableName, TableStats stats);
-
- void setColumnStats(String vdbName, int vdbVersion, String schemaName, String tableName, String columnName, ColumnStats stats);
-
}
Modified: trunk/api/src/main/java/org/teiid/metadata/Column.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/Column.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/Column.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -249,5 +249,20 @@
public void setNativeType(String nativeType) {
this.nativeType = DataTypeManager.getCanonicalString(nativeType);
}
+
+ public void setColumnStats(ColumnStats stats) {
+ if (stats.getDistinctValues() != null) {
+ setDistinctValues(stats.getDistinctValues());
+ }
+ if (stats.getNullValues() != null) {
+ setNullValues(stats.getNullValues());
+ }
+ if (stats.getMaximumValue() != null) {
+ setMaximumValue(stats.getMaximumValue());
+ }
+ if (stats.getMinimumValue() != null) {
+ setMinimumValue(stats.getMinimumValue());
+ }
+ }
}
\ No newline at end of file
Modified: trunk/api/src/main/java/org/teiid/metadata/ColumnStats.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/ColumnStats.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/ColumnStats.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -22,43 +22,47 @@
package org.teiid.metadata;
-public class ColumnStats {
+import java.io.Serializable;
- private int numDistinctValues = -1;
- private int numNullValues = -1;
- private String min;
- private String max;
-
- public int getNumDistinctValues() {
- return numDistinctValues;
- }
+public class ColumnStats implements Serializable {
+
+ private static final long serialVersionUID = 7827734836519486538L;
- public void setNumDistinctValues(int numDistinctValues) {
- this.numDistinctValues = numDistinctValues;
- }
+ private Integer distinctValues;
+ private Integer nullValues;
+ private String minimumValue;
+ private String maximumValue;
- public int getNumNullValues() {
- return numNullValues;
+ public String getMinimumValue() {
+ return minimumValue;
}
- public void setNumNullValues(int numNullValues) {
- this.numNullValues = numNullValues;
+ public void setMinimumValue(String min) {
+ this.minimumValue = min;
}
- public String getMin() {
- return min;
+ public String getMaximumValue() {
+ return maximumValue;
}
- public void setMin(String min) {
- this.min = min;
+ public void setMaximumValue(String max) {
+ this.maximumValue = max;
}
-
- public String getMax() {
- return max;
+
+ public Integer getDistinctValues() {
+ return distinctValues;
}
-
- public void setMax(String max) {
- this.max = max;
+
+ public void setDistinctValues(Integer numDistinctValues) {
+ this.distinctValues = numDistinctValues;
}
+
+ public Integer getNullValues() {
+ return nullValues;
+ }
+
+ public void setNullValues(Integer numNullValues) {
+ this.nullValues = numNullValues;
+ }
}
Deleted: trunk/api/src/main/java/org/teiid/metadata/MetadataProvider.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/MetadataProvider.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/MetadataProvider.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -1,41 +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.metadata;
-
-import org.teiid.CommandContext;
-
-/**
- * A hook for providing {@link ViewDefinition}s
- */
-public interface MetadataProvider {
-
- /**
- * Returns an updated {@link ViewDefinition} or null if the default view definition
- * should be used.
- * @param viewName
- * @param context
- * @return
- */
- ViewDefinition getViewDefinition(String schema, String viewName, CommandContext context);
-
-}
Copied: trunk/api/src/main/java/org/teiid/metadata/MetadataRepository.java (from rev 3120, trunk/api/src/main/java/org/teiid/metadata/MetadataProvider.java)
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/MetadataRepository.java (rev 0)
+++ trunk/api/src/main/java/org/teiid/metadata/MetadataRepository.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -0,0 +1,117 @@
+/*
+ * 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.metadata;
+
+/**
+ * A hook for externalizing view, procedure, and other metadata.
+ */
+public interface MetadataRepository {
+
+ public enum TriggerOperation {
+ INSERT,
+ UPDATE,
+ DELETE
+ }
+
+ /**
+ * Returns an updated view definition (AS SQL only) or null if the current view definition should be used
+ * should be used.
+ */
+ String getViewDefinition(String vdbName, int vdbVersion, Table table);
+
+ /**
+ * Set the view definition
+ * @param vdbName
+ * @param vdbVersion
+ * @param table
+ * @param viewDefinition
+ */
+ void setViewDefinition(String vdbName, int vdbVersion, Table table, String viewDefinition);
+
+ /**
+ * Returns an updated trigger definition (FOR EACH ROW ...) or null if the current view definition should be used
+ * should be used.
+ */
+ String getInsteadOfTriggerDefinition(String vdbName, int vdbVersion, Table table, TriggerOperation triggerOperation);
+
+ /**
+ *
+ * @param vdbName
+ * @param vdbVersion
+ * @param table
+ * @param triggerOperation
+ * @param triggerDefinition
+ */
+ void setInsteadOfTriggerDefinition(String vdbName, int vdbVersion, Table table, TriggerOperation triggerOperation, String triggerDefinition);
+
+ /**
+ * Returns an updated procedure definition (CREATE PROCEDURE ...) or null if the current procedure definition should be used
+ * should be used.
+ */
+ String getProcedureDefinition(String vdbName, int vdbVersion, Procedure procedure);
+
+ /**
+ * Set the procedure definition
+ * @param vdbName
+ * @param vdbVersion
+ * @param table
+ * @param procedureDefinition
+ */
+ void setProcedureDefinition(String vdbName, int vdbVersion, Procedure table, String procedureDefinition);
+
+ /**
+ * Get updated {@link TableStats} for the given table
+ * @param vdbName
+ * @param vdbVersion
+ * @param table
+ * @return the stats. a null result or a null stat indicates that the current value should be used
+ */
+ TableStats getTableStats(String vdbName, int vdbVersion, Table table);
+
+ /**
+ * Set the {@link TableStats} for the given table
+ * @param vdbName
+ * @param vdbVersion
+ * @param table
+ * @param tableStats
+ */
+ void setTableStats(String vdbName, int vdbVersion, Table table, TableStats tableStats);
+
+ /**
+ * Get updated {@link ColumnStats} for the given column
+ * @param vdbName
+ * @param vdbVersion
+ * @param column
+ * @return the stats. a null result or a null stat indicates that the default should be used
+ */
+ ColumnStats getColumnStats(String vdbName, int vdbVersion, Column column);
+
+ /**
+ * Set the {@link ColumnStats} for a given column
+ * @param vdbName
+ * @param vdbVersion
+ * @param column
+ * @param columnStats
+ */
+ void setColumnStats(String vdbName, int vdbVersion, Column column, ColumnStats columnStats);
+}
Property changes on: trunk/api/src/main/java/org/teiid/metadata/MetadataRepository.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/api/src/main/java/org/teiid/metadata/Procedure.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/Procedure.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/Procedure.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -48,6 +48,7 @@
private String queryPlan;
private Schema parent;
+ private transient long lastModified;
public void setParent(Schema parent) {
this.parent = parent;
@@ -127,5 +128,13 @@
public Schema getParent() {
return parent;
}
+
+ public long getLastModified() {
+ return lastModified;
+ }
+
+ public void setLastModified(long lastModified) {
+ this.lastModified = lastModified;
+ }
}
\ No newline at end of file
Modified: trunk/api/src/main/java/org/teiid/metadata/Table.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/Table.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/Table.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -289,4 +289,10 @@
this.lastModified = lastModified;
}
+ public void setTableStats(TableStats stats) {
+ if (stats.getCardinality() != null) {
+ setCardinality(stats.getCardinality());
+ }
+ }
+
}
\ No newline at end of file
Modified: trunk/api/src/main/java/org/teiid/metadata/TableStats.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/TableStats.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/TableStats.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -22,15 +22,19 @@
package org.teiid.metadata;
-public class TableStats {
+import java.io.Serializable;
+
+public class TableStats implements Serializable {
- private int cardinality;
+ private static final long serialVersionUID = 4316568283357485330L;
- public int getCardinality() {
+ private Integer cardinality;
+
+ public Integer getCardinality() {
return cardinality;
}
- public void setCardinality(int cardinality) {
+ public void setCardinality(Integer cardinality) {
this.cardinality = cardinality;
}
Deleted: trunk/api/src/main/java/org/teiid/metadata/ViewDefinition.java
===================================================================
--- trunk/api/src/main/java/org/teiid/metadata/ViewDefinition.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/api/src/main/java/org/teiid/metadata/ViewDefinition.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -1,36 +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.metadata;
-
-public class ViewDefinition {
- private String sql;
-
- public ViewDefinition(String sql) {
- this.sql = sql;
- }
-
- public String getSql() {
- return sql;
- }
-
-}
\ No newline at end of file
Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/build/kits/jboss-container/teiid-releasenotes.html 2011-04-28 02:55:13 UTC (rev 3126)
@@ -10,7 +10,7 @@
<P><A HREF="http://www.teiid.org/"><IMG SRC="https://www.jboss.org/dms/teiid/images/teiid-banner.png" NAME="graphics1" ALT="Teiid" ALIGN=BOTTOM WIDTH=800></A>
<H1>Teiid ${project.version} Release Notes</H1>
-<P>Teiid ${project.version} adds performance and integration features.
+<P>Teiid ${project.version} adds performance, integration, and runtime metadata update features.
<H2>Overview</H2>
<UL>
@@ -63,6 +63,8 @@
<h4>from 7.3</h4>
<ul>
+ <li>SYS.COLUMNS has two new columns to get statistical information: DistinctCount and NullCount
+ <li>ARRAY_AGG is now a reserved word</li>
<li>The use of an IN procedure parameter with the name "source_name" in a multi-source model, will now be treated the parameter that controls which source
the procedure will execute against.
<li>Dynamic VDB functions injected via ExecutionFactory.getPushdownFunctions are now scoped to the SYS schema and have a fully qualified name that includes their source type. For example, instead of oracle_model.relate - which was only valid against the oracle_model source, there is now the SYS.oracle_sdo.relate function that is valid for all Oracle sources. Any fully-qualified reference to these functions will need updated.
@@ -73,6 +75,7 @@
<li>The default JDBC credentials are user/user - not admin/teiid
<li>Unordered limits are no longer pushed through conditions, dup removal, or UNION not all. This prevents the possibility of getting less results than the logical intent of the limit.
</ul>
+
<h4>from 7.1</h4>
<ul>
<li>Subqueries are no longer allowed to be SELECT INTO.
Modified: trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties
===================================================================
--- trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/client/src/main/resources/org/teiid/jdbc/i18n.properties 2011-04-28 02:55:13 UTC (rev 3126)
@@ -42,7 +42,7 @@
MMStatement.Timeout_before_complete=Operation timed out before completion.
MMResultsImpl.Col_doesnt_exist=Column name "{0}" does not exist.
ResultsImpl.Op_invalid_fwd_only=This operation cannot be executed on TYPE_FORWARD_ONLY ResultSets.
-ResultsImpl.Invalid_col_index=Column index {0} is invalid. Index must be >= 0 and <= column count.
+ResultsImpl.Invalid_col_index=Column index {0} is invalid. Index must be >= 1 and <= column count.
MMConnection.Session_success=Successfully obtained a session.
MMConnection.Connection_close_success=Connection successfully closed.
MMConnection.Err_connection_close=Error trying to close driver connection: {0}
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2011-04-28 02:55:13 UTC (rev 3126)
@@ -79,6 +79,7 @@
| <AND: "and">
| <ANY: "any">
| <ARRAY: "array">
+| <ARRAY_AGG: "array_agg">
| <AS: "as">
| <ASC: "asc">
| <ATOMIC: "atomic">
@@ -348,9 +349,10 @@
| <TIMETYPE: "{" "t">
| <TIMESTAMPTYPE: "{" "ts">
| <BOOLEANTYPE: "{" "b">
+| <POS_REF: ["$"] (<DIGIT>)+>
| <INTEGERVAL: (<MINUS>)? (<DIGIT>)+>
| <FLOATVAL: (<MINUS>)? (<DIGIT>)* <PERIOD> (<DIGIT>)+ (["e","E"] (["+","-"])? (<DIGIT>)+)?>
-| <STRINGVAL: ("N")? "\'" ("\'\'" | ~["\'"])* "\'">
+| <STRINGVAL: ("N" | "E")? "\'" ("\'\'" | ~["\'"])* "\'">
| <#LETTER: ["a"-"z","A"-"Z"] | ["\u0153"-"\ufffd"]>
| <#DIGIT: ["0"-"9"]>
}
@@ -364,6 +366,8 @@
| <RPAREN: ")">
| <LBRACE: "{">
| <RBRACE: "}">
+| <LSBRACE: "[">
+| <RSBRACE: "]">
| <EQ: "=">
| <NE: "<>">
| <NE2: "!=">
@@ -406,439 +410,455 @@
<entry align="left" valign="top"><para>::=
( <link linkend="prod4">createUpdateProcedure</link> | <link linkend="prod5">userCommand</link> | <link linkend="prod6">callableStatement</link> ) ( <SEMICOLON> )? <EOF></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod7" xreflabel="updateProcedure"/>updateProcedure</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod7" xreflabel="designerCommand"/>designerCommand</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod4">createUpdateProcedure</link> | <link linkend="prod8">triggerAction</link> ) <EOF></para></entry></row>
+( <link linkend="prod8">updateProcedure</link> | <link linkend="prod5">userCommand</link> ) ( <SEMICOLON> )? <EOF></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod8" xreflabel="triggerAction"/>triggerAction</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod8" xreflabel="updateProcedure"/>updateProcedure</para></entry>
<entry align="left" valign="top"><para>::=
-<FOR> <EACH> <ROW> <link linkend="prod9">block</link></para></entry></row>
+( <link linkend="prod4">createUpdateProcedure</link> | <link linkend="prod9">triggerAction</link> ) <EOF></para></entry></row>
<row>
+<entry align="right" valign="top"><para><anchor id="prod10" xreflabel="alter"/>alter</para></entry>
+<entry align="left" valign="top"><para>::=
+<ALTER> ( ( <link linkend="prod11">nonReserved</link> <link linkend="prod2">id</link> <AS> <link linkend="prod12">queryExpression</link> ) | ( <PROCEDURE> <link linkend="prod2">id</link> <AS> <link linkend="prod13">block</link> ) | ( <TRIGGER> <ON> <link linkend="prod2">id</link> <link linkend="prod11">nonReserved</link> <OF> ( <INSERT> | <UPDATE> | <DELETE> ) <AS> <link linkend="prod9">triggerAction</link> ) )</para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor id="prod9" xreflabel="triggerAction"/>triggerAction</para></entry>
+<entry align="left" valign="top"><para>::=
+<FOR> <EACH> <ROW> <link linkend="prod13">block</link></para></entry></row>
+<row>
<entry align="right" valign="top"><para><anchor id="prod5" xreflabel="userCommand"/>userCommand</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod10">queryExpression</link> | <link linkend="prod11">storedProcedure</link> | <link linkend="prod12">insert</link> | <link linkend="prod13">update</link> | <link linkend="prod14">delete</link> | <link linkend="prod15">dropTable</link> | <link linkend="prod16">createTempTable</link> )</para></entry></row>
+( <link linkend="prod12">queryExpression</link> | <link linkend="prod14">storedProcedure</link> | <link linkend="prod15">insert</link> | <link linkend="prod16">update</link> | <link linkend="prod17">delete</link> | <link linkend="prod18">dropTable</link> | <link linkend="prod19">createTempTable</link> | <link linkend="prod10">alter</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod15" xreflabel="dropTable"/>dropTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod18" xreflabel="dropTable"/>dropTable</para></entry>
<entry align="left" valign="top"><para>::=
<DROP> <TABLE> <link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod16" xreflabel="createTempTable"/>createTempTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod19" xreflabel="createTempTable"/>createTempTable</para></entry>
<entry align="left" valign="top"><para>::=
-<CREATE> <LOCAL> <TEMPORARY> <TABLE> <link linkend="prod2">id</link> <LPAREN> <link linkend="prod17">tableElement</link> ( <COMMA> <link linkend="prod17">tableElement</link> )* ( <COMMA> <PRIMARY> <link linkend="prod18">nonReserved</link> <LPAREN> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* <RPAREN> )? <RPAREN></para></entry></row>
+<CREATE> <LOCAL> <TEMPORARY> <TABLE> <link linkend="prod2">id</link> <LPAREN> <link linkend="prod20">tableElement</link> ( <COMMA> <link linkend="prod20">tableElement</link> )* ( <COMMA> <PRIMARY> <link linkend="prod11">nonReserved</link> <LPAREN> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* <RPAREN> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod17" xreflabel="tableElement"/>tableElement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod20" xreflabel="tableElement"/>tableElement</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> ( <link linkend="prod19">dataTypeString</link> | <link linkend="prod18">nonReserved</link> ) ( <NOT> <NULL> )?</para></entry></row>
+<link linkend="prod2">id</link> ( <link linkend="prod21">dataTypeString</link> | <link linkend="prod11">nonReserved</link> ) ( <NOT> <NULL> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod20" xreflabel="errorStatement"/>errorStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod22" xreflabel="errorStatement"/>errorStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<ERROR> <link linkend="prod21">expression</link></para></entry></row>
+<ERROR> <link linkend="prod23">expression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod22" xreflabel="statement"/>statement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod24" xreflabel="statement"/>statement</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod23">ifStatement</link> | <link linkend="prod24">loopStatement</link> | <link linkend="prod25">whileStatement</link> | <link linkend="prod26">delimitedStatement</link> )</para></entry></row>
+( <link linkend="prod25">ifStatement</link> | <link linkend="prod26">loopStatement</link> | <link linkend="prod27">whileStatement</link> | <link linkend="prod28">delimitedStatement</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod26" xreflabel="delimitedStatement"/>delimitedStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod28" xreflabel="delimitedStatement"/>delimitedStatement</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod27">assignStatement</link> | <link linkend="prod28">sqlStatement</link> | <link linkend="prod20">errorStatement</link> | <link linkend="prod29">declareStatement</link> | <link linkend="prod30">continueStatement</link> | <link linkend="prod31">breakStatement</link> ) <SEMICOLON></para></entry></row>
+( <link linkend="prod29">assignStatement</link> | <link linkend="prod30">sqlStatement</link> | <link linkend="prod22">errorStatement</link> | <link linkend="prod31">declareStatement</link> | <link linkend="prod32">continueStatement</link> | <link linkend="prod33">breakStatement</link> ) <SEMICOLON></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod9" xreflabel="block"/>block</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod13" xreflabel="block"/>block</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod22">statement</link> | ( <BEGIN> ( <link linkend="prod22">statement</link> )* <END> ) )</para></entry></row>
+( <link linkend="prod24">statement</link> | ( <BEGIN> ( <link linkend="prod24">statement</link> )* <END> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod31" xreflabel="breakStatement"/>breakStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod33" xreflabel="breakStatement"/>breakStatement</para></entry>
<entry align="left" valign="top"><para>::=
<BREAK></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod30" xreflabel="continueStatement"/>continueStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod32" xreflabel="continueStatement"/>continueStatement</para></entry>
<entry align="left" valign="top"><para>::=
<CONTINUE></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod25" xreflabel="whileStatement"/>whileStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod27" xreflabel="whileStatement"/>whileStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<WHILE> <LPAREN> <link linkend="prod32">criteria</link> <RPAREN> <link linkend="prod9">block</link></para></entry></row>
+<WHILE> <LPAREN> <link linkend="prod34">criteria</link> <RPAREN> <link linkend="prod13">block</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod24" xreflabel="loopStatement"/>loopStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod26" xreflabel="loopStatement"/>loopStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<LOOP> <ON> <LPAREN> <link linkend="prod10">queryExpression</link> <RPAREN> <AS> <link linkend="prod2">id</link> <link linkend="prod9">block</link></para></entry></row>
+<LOOP> <ON> <LPAREN> <link linkend="prod12">queryExpression</link> <RPAREN> <AS> <link linkend="prod2">id</link> <link linkend="prod13">block</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod23" xreflabel="ifStatement"/>ifStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod25" xreflabel="ifStatement"/>ifStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<IF> <LPAREN> <link linkend="prod32">criteria</link> <RPAREN> <link linkend="prod9">block</link> ( <ELSE> <link linkend="prod9">block</link> )?</para></entry></row>
+<IF> <LPAREN> <link linkend="prod34">criteria</link> <RPAREN> <link linkend="prod13">block</link> ( <ELSE> <link linkend="prod13">block</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod33" xreflabel="criteriaSelector"/>criteriaSelector</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod35" xreflabel="criteriaSelector"/>criteriaSelector</para></entry>
<entry align="left" valign="top"><para>::=
( ( <EQ> | <NE> | <NE2> | <LE> | <GE> | <LT> | <GT> | <IN> | <LIKE> | ( <IS> <NULL> ) | <BETWEEN> ) )? <CRITERIA> ( <ON> <LPAREN> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* <RPAREN> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod34" xreflabel="hasCriteria"/>hasCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod36" xreflabel="hasCriteria"/>hasCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-<HAS> <link linkend="prod33">criteriaSelector</link></para></entry></row>
+<HAS> <link linkend="prod35">criteriaSelector</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod29" xreflabel="declareStatement"/>declareStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod31" xreflabel="declareStatement"/>declareStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<DECLARE> <link linkend="prod35">dataType</link> <link linkend="prod2">id</link> ( ( <link linkend="prod18">nonReserved</link> | <EQ> ) <link linkend="prod36">assignStatementOperand</link> )?</para></entry></row>
+<DECLARE> <link linkend="prod37">dataType</link> <link linkend="prod2">id</link> ( ( <link linkend="prod11">nonReserved</link> | <EQ> ) <link linkend="prod38">assignStatementOperand</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod27" xreflabel="assignStatement"/>assignStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod29" xreflabel="assignStatement"/>assignStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> ( <link linkend="prod18">nonReserved</link> | <EQ> ) <link linkend="prod36">assignStatementOperand</link></para></entry></row>
+<link linkend="prod2">id</link> ( <link linkend="prod11">nonReserved</link> | <EQ> ) <link linkend="prod38">assignStatementOperand</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod36" xreflabel="assignStatementOperand"/>assignStatementOperand</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod38" xreflabel="assignStatementOperand"/>assignStatementOperand</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <link linkend="prod12">insert</link> ) | <link linkend="prod13">update</link> | <link linkend="prod14">delete</link> | ( <link linkend="prod21">expression</link> ) | <link linkend="prod10">queryExpression</link> )</para></entry></row>
+( ( <link linkend="prod15">insert</link> ) | <link linkend="prod16">update</link> | <link linkend="prod17">delete</link> | ( <link linkend="prod23">expression</link> ) | <link linkend="prod12">queryExpression</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod28" xreflabel="sqlStatement"/>sqlStatement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod30" xreflabel="sqlStatement"/>sqlStatement</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <link linkend="prod5">userCommand</link> ) | <link linkend="prod37">dynamicCommand</link> | ( <link linkend="prod2">id</link> ( <link linkend="prod18">nonReserved</link> | <EQ> ) <link linkend="prod11">storedProcedure</link> ) )</para></entry></row>
+( ( <link linkend="prod5">userCommand</link> ) | <link linkend="prod39">dynamicCommand</link> | ( <link linkend="prod2">id</link> ( <link linkend="prod11">nonReserved</link> | <EQ> ) <link linkend="prod14">storedProcedure</link> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod38" xreflabel="translateCriteria"/>translateCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod40" xreflabel="translateCriteria"/>translateCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-<TRANSLATE> <link linkend="prod33">criteriaSelector</link> ( <WITH> <LPAREN> <link linkend="prod2">id</link> <EQ> <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod2">id</link> <EQ> <link linkend="prod21">expression</link> )* <RPAREN> )?</para></entry></row>
+<TRANSLATE> <link linkend="prod35">criteriaSelector</link> ( <WITH> <LPAREN> <link linkend="prod2">id</link> <EQ> <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod2">id</link> <EQ> <link linkend="prod23">expression</link> )* <RPAREN> )?</para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor id="prod4" xreflabel="createUpdateProcedure"/>createUpdateProcedure</para></entry>
<entry align="left" valign="top"><para>::=
-<CREATE> ( <VIRTUAL> )? ( <UPDATE> )? <PROCEDURE> <link linkend="prod9">block</link></para></entry></row>
+<CREATE> ( <VIRTUAL> )? ( <UPDATE> )? <PROCEDURE> <link linkend="prod13">block</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod37" xreflabel="dynamicCommand"/>dynamicCommand</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod39" xreflabel="dynamicCommand"/>dynamicCommand</para></entry>
<entry align="left" valign="top"><para>::=
-( <EXECUTE> | <EXEC> ) ( ( <STRING> | <IMMEDIATE> ) )? <link linkend="prod21">expression</link> ( <AS> <link linkend="prod39">createElementsWithTypes</link> ( <INTO> <link linkend="prod2">id</link> )? )? ( <USING> <link linkend="prod40">setClauseList</link> )? ( <UPDATE> ( ( <INTEGERVAL> ) | ( <STAR> ) ) )?</para></entry></row>
+( <EXECUTE> | <EXEC> ) ( ( <STRING> | <IMMEDIATE> ) )? <link linkend="prod23">expression</link> ( <AS> <link linkend="prod41">createElementsWithTypes</link> ( <INTO> <link linkend="prod2">id</link> )? )? ( <USING> <link linkend="prod42">setClauseList</link> )? ( <UPDATE> ( ( <INTEGERVAL> ) | ( <STAR> ) ) )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod40" xreflabel="setClauseList"/>setClauseList</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod42" xreflabel="setClauseList"/>setClauseList</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod2">id</link> <EQ> ( <COMMA> <link linkend="prod2">id</link> <EQ> )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod39" xreflabel="createElementsWithTypes"/>createElementsWithTypes</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod41" xreflabel="createElementsWithTypes"/>createElementsWithTypes</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> <link linkend="prod19">dataTypeString</link> ( <COMMA> <link linkend="prod2">id</link> <link linkend="prod19">dataTypeString</link> )*</para></entry></row>
+<link linkend="prod2">id</link> <link linkend="prod21">dataTypeString</link> ( <COMMA> <link linkend="prod2">id</link> <link linkend="prod21">dataTypeString</link> )*</para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor id="prod6" xreflabel="callableStatement"/>callableStatement</para></entry>
<entry align="left" valign="top"><para>::=
-<LBRACE> ( <QMARK> <EQ> )? <CALL> <link linkend="prod2">id</link> ( <LPAREN> ( <link linkend="prod41">executeUnnamedParams</link> ) <RPAREN> )? <RBRACE> ( <link linkend="prod42">option</link> )?</para></entry></row>
+<LBRACE> ( <QMARK> <EQ> )? <CALL> <link linkend="prod2">id</link> ( <LPAREN> ( <link linkend="prod43">executeUnnamedParams</link> ) <RPAREN> )? <RBRACE> ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod11" xreflabel="storedProcedure"/>storedProcedure</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod14" xreflabel="storedProcedure"/>storedProcedure</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <EXEC> | <EXECUTE> | <CALL> ) <link linkend="prod2">id</link> <LPAREN> ( <link linkend="prod43">executeNamedParams</link> | <link linkend="prod41">executeUnnamedParams</link> ) <RPAREN> ) ( <link linkend="prod42">option</link> )?</para></entry></row>
+( ( <EXEC> | <EXECUTE> | <CALL> ) <link linkend="prod2">id</link> <LPAREN> ( <link linkend="prod45">executeNamedParams</link> | <link linkend="prod43">executeUnnamedParams</link> ) <RPAREN> ) ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod41" xreflabel="executeUnnamedParams"/>executeUnnamedParams</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod43" xreflabel="executeUnnamedParams"/>executeUnnamedParams</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod21">expression</link> )* )?</para></entry></row>
+( <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod23">expression</link> )* )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod43" xreflabel="executeNamedParams"/>executeNamedParams</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod45" xreflabel="executeNamedParams"/>executeNamedParams</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod2">id</link> <EQ> ( <GT> )? <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod2">id</link> <EQ> ( <GT> )? <link linkend="prod21">expression</link> )* )</para></entry></row>
+( <link linkend="prod2">id</link> <EQ> ( <GT> )? <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod2">id</link> <EQ> ( <GT> )? <link linkend="prod23">expression</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod12" xreflabel="insert"/>insert</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod15" xreflabel="insert"/>insert</para></entry>
<entry align="left" valign="top"><para>::=
-<INSERT> <INTO> <link linkend="prod2">id</link> ( <link linkend="prod44">columnList</link> )? ( ( <VALUES> <link linkend="prod45">rowValues</link> ) | ( <link linkend="prod10">queryExpression</link> ) ) ( <link linkend="prod42">option</link> )?</para></entry></row>
+<INSERT> <INTO> <link linkend="prod2">id</link> ( <link linkend="prod46">columnList</link> )? ( ( <VALUES> <link linkend="prod47">rowValues</link> ) | ( <link linkend="prod12">queryExpression</link> ) ) ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod44" xreflabel="columnList"/>columnList</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod46" xreflabel="columnList"/>columnList</para></entry>
<entry align="left" valign="top"><para>::=
<LPAREN> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod45" xreflabel="rowValues"/>rowValues</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod47" xreflabel="rowValues"/>rowValues</para></entry>
<entry align="left" valign="top"><para>::=
-<LPAREN> <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod21">expression</link> )* <RPAREN></para></entry></row>
+<LPAREN> <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod23">expression</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod13" xreflabel="update"/>update</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod16" xreflabel="update"/>update</para></entry>
<entry align="left" valign="top"><para>::=
-<UPDATE> <link linkend="prod2">id</link> <SET> <link linkend="prod40">setClauseList</link> ( <link linkend="prod46">where</link> )? ( <link linkend="prod42">option</link> )?</para></entry></row>
+<UPDATE> <link linkend="prod2">id</link> <SET> <link linkend="prod42">setClauseList</link> ( <link linkend="prod48">where</link> )? ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod14" xreflabel="delete"/>delete</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod17" xreflabel="delete"/>delete</para></entry>
<entry align="left" valign="top"><para>::=
-<DELETE> <FROM> <link linkend="prod2">id</link> ( <link linkend="prod46">where</link> )? ( <link linkend="prod42">option</link> )?</para></entry></row>
+<DELETE> <FROM> <link linkend="prod2">id</link> ( <link linkend="prod48">where</link> )? ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod10" xreflabel="queryExpression"/>queryExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod12" xreflabel="queryExpression"/>queryExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <WITH> <link linkend="prod47">withListElement</link> ( <COMMA> <link linkend="prod47">withListElement</link> )* )? <link linkend="prod48">queryExpressionBody</link></para></entry></row>
+( <WITH> <link linkend="prod49">withListElement</link> ( <COMMA> <link linkend="prod49">withListElement</link> )* )? <link linkend="prod50">queryExpressionBody</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod47" xreflabel="withListElement"/>withListElement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod49" xreflabel="withListElement"/>withListElement</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> ( <link linkend="prod44">columnList</link> )? <AS> <LPAREN> <link linkend="prod10">queryExpression</link> <RPAREN></para></entry></row>
+<link linkend="prod2">id</link> ( <link linkend="prod46">columnList</link> )? <AS> <LPAREN> <link linkend="prod12">queryExpression</link> <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod48" xreflabel="queryExpressionBody"/>queryExpressionBody</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod50" xreflabel="queryExpressionBody"/>queryExpressionBody</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod49">queryTerm</link> ( ( <UNION> | <EXCEPT> ) ( <ALL> | <DISTINCT> )? <link linkend="prod49">queryTerm</link> )* ( <link linkend="prod50">orderby</link> )? ( <link linkend="prod51">limit</link> )? ( <link linkend="prod42">option</link> )?</para></entry></row>
+<link linkend="prod51">queryTerm</link> ( ( <UNION> | <EXCEPT> ) ( <ALL> | <DISTINCT> )? <link linkend="prod51">queryTerm</link> )* ( <link linkend="prod52">orderby</link> )? ( <link linkend="prod53">limit</link> )? ( <link linkend="prod44">option</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod49" xreflabel="queryTerm"/>queryTerm</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod51" xreflabel="queryTerm"/>queryTerm</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod52">queryPrimary</link> ( <INTERSECT> ( <ALL> | <DISTINCT> )? <link linkend="prod52">queryPrimary</link> )*</para></entry></row>
+<link linkend="prod54">queryPrimary</link> ( <INTERSECT> ( <ALL> | <DISTINCT> )? <link linkend="prod54">queryPrimary</link> )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod52" xreflabel="queryPrimary"/>queryPrimary</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod54" xreflabel="queryPrimary"/>queryPrimary</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod53">query</link> | ( <TABLE> <link linkend="prod2">id</link> ) | ( <LPAREN> <link linkend="prod48">queryExpressionBody</link> <RPAREN> ) )</para></entry></row>
+( <link linkend="prod55">query</link> | ( <TABLE> <link linkend="prod2">id</link> ) | ( <LPAREN> <link linkend="prod50">queryExpressionBody</link> <RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod53" xreflabel="query"/>query</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod55" xreflabel="query"/>query</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod54">select</link> ( <link linkend="prod55">into</link> )? ( <link linkend="prod56">from</link> ( <link linkend="prod46">where</link> )? ( <link linkend="prod57">groupBy</link> )? ( <link linkend="prod58">having</link> )? )?</para></entry></row>
+<link linkend="prod56">select</link> ( <link linkend="prod57">into</link> )? ( <link linkend="prod58">from</link> ( <link linkend="prod48">where</link> )? ( <link linkend="prod59">groupBy</link> )? ( <link linkend="prod60">having</link> )? )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod55" xreflabel="into"/>into</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod57" xreflabel="into"/>into</para></entry>
<entry align="left" valign="top"><para>::=
<INTO> ( <link linkend="prod2">id</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod54" xreflabel="select"/>select</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod56" xreflabel="select"/>select</para></entry>
<entry align="left" valign="top"><para>::=
-<SELECT> ( <ALL> | ( <DISTINCT> ) )? ( <STAR> | ( <link linkend="prod59">selectSymbol</link> ( <COMMA> <link linkend="prod59">selectSymbol</link> )* ) )</para></entry></row>
+<SELECT> ( <ALL> | ( <DISTINCT> ) )? ( <STAR> | ( <link linkend="prod61">selectSymbol</link> ( <COMMA> <link linkend="prod61">selectSymbol</link> )* ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod59" xreflabel="selectSymbol"/>selectSymbol</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod61" xreflabel="selectSymbol"/>selectSymbol</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod60">selectExpression</link> | <link linkend="prod61">allInGroupSymbol</link> )</para></entry></row>
+( <link linkend="prod62">selectExpression</link> | <link linkend="prod63">allInGroupSymbol</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod60" xreflabel="selectExpression"/>selectExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod62" xreflabel="selectExpression"/>selectExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod21">expression</link> ( ( <AS> )? <link linkend="prod2">id</link> )? )</para></entry></row>
+( <link linkend="prod23">expression</link> ( ( <AS> )? <link linkend="prod2">id</link> )? )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod62" xreflabel="derivedColumn"/>derivedColumn</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod64" xreflabel="derivedColumn"/>derivedColumn</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod21">expression</link> ( <AS> <link linkend="prod2">id</link> )? )</para></entry></row>
+( <link linkend="prod23">expression</link> ( <AS> <link linkend="prod2">id</link> )? )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod61" xreflabel="allInGroupSymbol"/>allInGroupSymbol</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod63" xreflabel="allInGroupSymbol"/>allInGroupSymbol</para></entry>
<entry align="left" valign="top"><para>::=
<ALL_IN_GROUP></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod63" xreflabel="xmlAgg"/>xmlAgg</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod65" xreflabel="xmlAgg"/>xmlAgg</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLAGG> <LPAREN> <link linkend="prod21">expression</link> ( <link linkend="prod50">orderby</link> )? <RPAREN></para></entry></row>
+<XMLAGG> <LPAREN> <link linkend="prod23">expression</link> ( <link linkend="prod52">orderby</link> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod64" xreflabel="textAgg"/>textAgg</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod66" xreflabel="arrayAgg"/>arrayAgg</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod18">nonReserved</link> <LPAREN> <FOR> <link linkend="prod62">derivedColumn</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* ( <ID> <link linkend="prod65">charVal</link> )? ( ( <ID> <link linkend="prod65">charVal</link> ) )? ( <ID> )? ( ( <ID> <link linkend="prod2">id</link> ) )? ( <link linkend="prod50">orderby</link> )? <RPAREN></para></entry></row>
+<ARRAY_AGG> <LPAREN> <link linkend="prod23">expression</link> ( <link linkend="prod52">orderby</link> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod66" xreflabel="aggregateSymbol"/>aggregateSymbol</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod67" xreflabel="textAgg"/>textAgg</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <link linkend="prod18">nonReserved</link> <LPAREN> <STAR> <RPAREN> ) | ( ( <link linkend="prod18">nonReserved</link> | <ANY> | <SOME> ) <LPAREN> ( <DISTINCT> | <ALL> )? <link linkend="prod21">expression</link> <RPAREN> ) )</para></entry></row>
+<link linkend="prod11">nonReserved</link> <LPAREN> <FOR> <link linkend="prod64">derivedColumn</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* ( <ID> <link linkend="prod68">charVal</link> )? ( ( <ID> <link linkend="prod68">charVal</link> ) )? ( <ID> )? ( ( <ID> <link linkend="prod2">id</link> ) )? ( <link linkend="prod52">orderby</link> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod56" xreflabel="from"/>from</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod69" xreflabel="aggregateSymbol"/>aggregateSymbol</para></entry>
<entry align="left" valign="top"><para>::=
-<FROM> ( <link linkend="prod67">tableReference</link> ( <COMMA> <link linkend="prod67">tableReference</link> )* )</para></entry></row>
+( ( <link linkend="prod11">nonReserved</link> <LPAREN> <STAR> <RPAREN> ) | ( ( <link linkend="prod11">nonReserved</link> | <ANY> | <SOME> ) <LPAREN> ( <DISTINCT> | <ALL> )? <link linkend="prod23">expression</link> <RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod67" xreflabel="tableReference"/>tableReference</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod58" xreflabel="from"/>from</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <LBRACE> <link linkend="prod18">nonReserved</link> <link linkend="prod68">joinedTable</link> <RBRACE> ) | <link linkend="prod68">joinedTable</link> )</para></entry></row>
+<FROM> ( <link linkend="prod70">tableReference</link> ( <COMMA> <link linkend="prod70">tableReference</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod68" xreflabel="joinedTable"/>joinedTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod70" xreflabel="tableReference"/>tableReference</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod69">tablePrimary</link> ( ( <link linkend="prod70">crossJoin</link> | <link linkend="prod71">qualifiedJoin</link> ) )*</para></entry></row>
+( ( <LBRACE> <link linkend="prod11">nonReserved</link> <link linkend="prod71">joinedTable</link> <RBRACE> ) | <link linkend="prod71">joinedTable</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod70" xreflabel="crossJoin"/>crossJoin</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod71" xreflabel="joinedTable"/>joinedTable</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <CROSS> | <UNION> ) <JOIN> <link linkend="prod69">tablePrimary</link> )</para></entry></row>
+<link linkend="prod72">tablePrimary</link> ( ( <link linkend="prod73">crossJoin</link> | <link linkend="prod74">qualifiedJoin</link> ) )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod71" xreflabel="qualifiedJoin"/>qualifiedJoin</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod73" xreflabel="crossJoin"/>crossJoin</para></entry>
<entry align="left" valign="top"><para>::=
-( ( ( <RIGHT> ( <OUTER> )? ) | ( <LEFT> ( <OUTER> )? ) | ( <FULL> ( <OUTER> )? ) | <INNER> )? <JOIN> <link linkend="prod67">tableReference</link> <ON> <link linkend="prod32">criteria</link> )</para></entry></row>
+( ( <CROSS> | <UNION> ) <JOIN> <link linkend="prod72">tablePrimary</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod69" xreflabel="tablePrimary"/>tablePrimary</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod74" xreflabel="qualifiedJoin"/>qualifiedJoin</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod72">textTable</link> | <link linkend="prod73">arrayTable</link> | <link linkend="prod74">xmlTable</link> | <link linkend="prod75">unaryFromClause</link> | <link linkend="prod76">subqueryFromClause</link> | ( <LPAREN> <link linkend="prod68">joinedTable</link> <RPAREN> ) ) ( ( <MAKEDEP> ) | ( <MAKENOTDEP> ) )?</para></entry></row>
+( ( ( <RIGHT> ( <OUTER> )? ) | ( <LEFT> ( <OUTER> )? ) | ( <FULL> ( <OUTER> )? ) | <INNER> )? <JOIN> <link linkend="prod70">tableReference</link> <ON> <link linkend="prod34">criteria</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod77" xreflabel="xmlSerialize"/>xmlSerialize</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod72" xreflabel="tablePrimary"/>tablePrimary</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLSERIALIZE> <LPAREN> ( <link linkend="prod18">nonReserved</link> )? <link linkend="prod21">expression</link> ( <AS> ( <STRING> | <VARCHAR> | <CLOB> ) )? <RPAREN></para></entry></row>
+( <link linkend="prod75">textTable</link> | <link linkend="prod76">arrayTable</link> | <link linkend="prod77">xmlTable</link> | <link linkend="prod78">unaryFromClause</link> | <link linkend="prod79">subqueryFromClause</link> | ( <LPAREN> <link linkend="prod71">joinedTable</link> <RPAREN> ) ) ( ( <MAKEDEP> ) | ( <MAKENOTDEP> ) )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod18" xreflabel="nonReserved"/>nonReserved</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod80" xreflabel="xmlSerialize"/>xmlSerialize</para></entry>
<entry align="left" valign="top"><para>::=
+<XMLSERIALIZE> <LPAREN> ( <link linkend="prod11">nonReserved</link> )? <link linkend="prod23">expression</link> ( <AS> ( <STRING> | <VARCHAR> | <CLOB> ) )? <RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor id="prod11" xreflabel="nonReserved"/>nonReserved</para></entry>
+<entry align="left" valign="top"><para>::=
<ID></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod73" xreflabel="arrayTable"/>arrayTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod76" xreflabel="arrayTable"/>arrayTable</para></entry>
<entry align="left" valign="top"><para>::=
-<ID> <LPAREN> <link linkend="prod21">expression</link> <link linkend="prod18">nonReserved</link> <link linkend="prod39">createElementsWithTypes</link> <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
+<ID> <LPAREN> <link linkend="prod23">expression</link> <link linkend="prod11">nonReserved</link> <link linkend="prod41">createElementsWithTypes</link> <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod72" xreflabel="textTable"/>textTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod75" xreflabel="textTable"/>textTable</para></entry>
<entry align="left" valign="top"><para>::=
-<ID> <LPAREN> <link linkend="prod21">expression</link> <link linkend="prod18">nonReserved</link> <link linkend="prod78">textColumn</link> ( <COMMA> <link linkend="prod78">textColumn</link> )* ( <ID> <link linkend="prod65">charVal</link> )? ( ( <ESCAPE> <link linkend="prod65">charVal</link> ) | ( <ID> <link linkend="prod65">charVal</link> ) )? ( <ID> ( <link linkend="prod79">intVal</link> )? )? ( <ID> <link linkend="prod79">intVal</link> )? <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
+<ID> <LPAREN> <link linkend="prod23">expression</link> <link linkend="prod11">nonReserved</link> <link linkend="prod81">textColumn</link> ( <COMMA> <link linkend="prod81">textColumn</link> )* ( <ID> <link linkend="prod68">charVal</link> )? ( ( <ESCAPE> <link linkend="prod68">charVal</link> ) | ( <ID> <link linkend="prod68">charVal</link> ) )? ( <ID> ( <link linkend="prod82">intVal</link> )? )? ( <ID> <link linkend="prod82">intVal</link> )? <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod78" xreflabel="textColumn"/>textColumn</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod81" xreflabel="textColumn"/>textColumn</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> <link linkend="prod35">dataType</link> ( <ID> <link linkend="prod79">intVal</link> )?</para></entry></row>
+<link linkend="prod2">id</link> <link linkend="prod37">dataType</link> ( <ID> <link linkend="prod82">intVal</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod80" xreflabel="xmlQuery"/>xmlQuery</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod83" xreflabel="xmlQuery"/>xmlQuery</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLQUERY> <LPAREN> ( <link linkend="prod81">xmlNamespaces</link> <COMMA> )? <link linkend="prod1">stringVal</link> ( <ID> <link linkend="prod62">derivedColumn</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* )? ( ( <NULL> | <link linkend="prod18">nonReserved</link> ) <ON> <link linkend="prod18">nonReserved</link> )? <RPAREN></para></entry></row>
+<XMLQUERY> <LPAREN> ( <link linkend="prod84">xmlNamespaces</link> <COMMA> )? <link linkend="prod1">stringVal</link> ( <ID> <link linkend="prod64">derivedColumn</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* )? ( ( <NULL> | <link linkend="prod11">nonReserved</link> ) <ON> <link linkend="prod11">nonReserved</link> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod74" xreflabel="xmlTable"/>xmlTable</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod77" xreflabel="xmlTable"/>xmlTable</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLTABLE> <LPAREN> ( <link linkend="prod81">xmlNamespaces</link> <COMMA> )? <link linkend="prod1">stringVal</link> ( <ID> <link linkend="prod62">derivedColumn</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* )? ( <ID> <link linkend="prod82">xmlColumn</link> ( <COMMA> <link linkend="prod82">xmlColumn</link> )* )? <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
+<XMLTABLE> <LPAREN> ( <link linkend="prod84">xmlNamespaces</link> <COMMA> )? <link linkend="prod1">stringVal</link> ( <ID> <link linkend="prod64">derivedColumn</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* )? ( <ID> <link linkend="prod85">xmlColumn</link> ( <COMMA> <link linkend="prod85">xmlColumn</link> )* )? <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod82" xreflabel="xmlColumn"/>xmlColumn</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod85" xreflabel="xmlColumn"/>xmlColumn</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod2">id</link> ( ( <FOR> <link linkend="prod18">nonReserved</link> ) | ( <link linkend="prod35">dataType</link> ( <DEFAULT_KEYWORD> <link linkend="prod21">expression</link> )? ( <link linkend="prod18">nonReserved</link> <link linkend="prod1">stringVal</link> )? ) )</para></entry></row>
+<link linkend="prod2">id</link> ( ( <FOR> <link linkend="prod11">nonReserved</link> ) | ( <link linkend="prod37">dataType</link> ( <DEFAULT_KEYWORD> <link linkend="prod23">expression</link> )? ( <link linkend="prod11">nonReserved</link> <link linkend="prod1">stringVal</link> )? ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod79" xreflabel="intVal"/>intVal</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod82" xreflabel="intVal"/>intVal</para></entry>
<entry align="left" valign="top"><para>::=
<INTEGERVAL></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod76" xreflabel="subqueryFromClause"/>subqueryFromClause</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod79" xreflabel="subqueryFromClause"/>subqueryFromClause</para></entry>
<entry align="left" valign="top"><para>::=
-( <TABLE> )? <LPAREN> ( <link linkend="prod10">queryExpression</link> | <link linkend="prod11">storedProcedure</link> ) <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
+( <TABLE> )? <LPAREN> ( <link linkend="prod12">queryExpression</link> | <link linkend="prod14">storedProcedure</link> ) <RPAREN> ( <AS> )? <link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod75" xreflabel="unaryFromClause"/>unaryFromClause</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod78" xreflabel="unaryFromClause"/>unaryFromClause</para></entry>
<entry align="left" valign="top"><para>::=
( <ID> ( ( <AS> )? <link linkend="prod2">id</link> )? )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod46" xreflabel="where"/>where</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod48" xreflabel="where"/>where</para></entry>
<entry align="left" valign="top"><para>::=
-<WHERE> <link linkend="prod32">criteria</link></para></entry></row>
+<WHERE> <link linkend="prod34">criteria</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod32" xreflabel="criteria"/>criteria</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod34" xreflabel="criteria"/>criteria</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod83">compoundCritOr</link></para></entry></row>
+<link linkend="prod86">compoundCritOr</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod83" xreflabel="compoundCritOr"/>compoundCritOr</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod86" xreflabel="compoundCritOr"/>compoundCritOr</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod84">compoundCritAnd</link> ( <OR> <link linkend="prod84">compoundCritAnd</link> )*</para></entry></row>
+<link linkend="prod87">compoundCritAnd</link> ( <OR> <link linkend="prod87">compoundCritAnd</link> )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod84" xreflabel="compoundCritAnd"/>compoundCritAnd</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod87" xreflabel="compoundCritAnd"/>compoundCritAnd</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod85">notCrit</link> ( <AND> <link linkend="prod85">notCrit</link> )*</para></entry></row>
+<link linkend="prod88">notCrit</link> ( <AND> <link linkend="prod88">notCrit</link> )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod85" xreflabel="notCrit"/>notCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod88" xreflabel="notCrit"/>notCrit</para></entry>
<entry align="left" valign="top"><para>::=
-( <NOT> )? <link linkend="prod86">booleanPrimary</link></para></entry></row>
+( <NOT> )? <link linkend="prod89">booleanPrimary</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod86" xreflabel="booleanPrimary"/>booleanPrimary</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod89" xreflabel="booleanPrimary"/>booleanPrimary</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod38">translateCriteria</link> | ( <link linkend="prod87">commonValueExpression</link> ( ( <link linkend="prod88">betweenCrit</link> | <link linkend="prod89">matchCrit</link> | <link linkend="prod90">setCrit</link> | <link linkend="prod91">isNullCrit</link> | <link linkend="prod92">subqueryCompareCriteria</link> | <link linkend="prod93">compareCrit</link> ) )? ) | <link linkend="prod94">existsCriteria</link> | <link linkend="prod34">hasCriteria</link> )</para></entry></row>
+( <link linkend="prod40">translateCriteria</link> | ( <link linkend="prod90">commonValueExpression</link> ( ( <link linkend="prod91">betweenCrit</link> | <link linkend="prod92">matchCrit</link> | <link linkend="prod93">setCrit</link> | <link linkend="prod94">isNullCrit</link> | <link linkend="prod95">subqueryCompareCriteria</link> | <link linkend="prod96">compareCrit</link> ) )? ) | <link linkend="prod97">existsCriteria</link> | <link linkend="prod36">hasCriteria</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod95" xreflabel="operator"/>operator</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod98" xreflabel="operator"/>operator</para></entry>
<entry align="left" valign="top"><para>::=
( <EQ> | <NE> | <NE2> | <LT> | <LE> | <GT> | <GE> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod93" xreflabel="compareCrit"/>compareCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod96" xreflabel="compareCrit"/>compareCrit</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod95">operator</link> <link linkend="prod87">commonValueExpression</link></para></entry></row>
+<link linkend="prod98">operator</link> <link linkend="prod90">commonValueExpression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod96" xreflabel="subquery"/>subquery</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod99" xreflabel="subquery"/>subquery</para></entry>
<entry align="left" valign="top"><para>::=
-<LPAREN> ( <link linkend="prod10">queryExpression</link> | ( <link linkend="prod11">storedProcedure</link> ) ) <RPAREN></para></entry></row>
+<link linkend="prod100">subqueryAndHint</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod92" xreflabel="subqueryCompareCriteria"/>subqueryCompareCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod100" xreflabel="subqueryAndHint"/>subqueryAndHint</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod95">operator</link> ( <ANY> | <SOME> | <ALL> ) <link linkend="prod96">subquery</link></para></entry></row>
+<LPAREN> ( <link linkend="prod12">queryExpression</link> | ( <link linkend="prod14">storedProcedure</link> ) ) <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod89" xreflabel="matchCrit"/>matchCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod95" xreflabel="subqueryCompareCriteria"/>subqueryCompareCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-( <NOT> )? <LIKE> <link linkend="prod87">commonValueExpression</link> ( <ESCAPE> <link linkend="prod65">charVal</link> | ( <LBRACE> <ESCAPE> <link linkend="prod65">charVal</link> <RBRACE> ) )?</para></entry></row>
+<link linkend="prod98">operator</link> ( <ANY> | <SOME> | <ALL> ) <link linkend="prod99">subquery</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod65" xreflabel="charVal"/>charVal</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod92" xreflabel="matchCrit"/>matchCrit</para></entry>
<entry align="left" valign="top"><para>::=
+( <NOT> )? <LIKE> <link linkend="prod90">commonValueExpression</link> ( <ESCAPE> <link linkend="prod68">charVal</link> | ( <LBRACE> <ESCAPE> <link linkend="prod68">charVal</link> <RBRACE> ) )?</para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor id="prod68" xreflabel="charVal"/>charVal</para></entry>
+<entry align="left" valign="top"><para>::=
<link linkend="prod1">stringVal</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod88" xreflabel="betweenCrit"/>betweenCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod91" xreflabel="betweenCrit"/>betweenCrit</para></entry>
<entry align="left" valign="top"><para>::=
-( <NOT> )? <BETWEEN> <link linkend="prod87">commonValueExpression</link> <AND> <link linkend="prod87">commonValueExpression</link></para></entry></row>
+( <NOT> )? <BETWEEN> <link linkend="prod90">commonValueExpression</link> <AND> <link linkend="prod90">commonValueExpression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod91" xreflabel="isNullCrit"/>isNullCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod94" xreflabel="isNullCrit"/>isNullCrit</para></entry>
<entry align="left" valign="top"><para>::=
<IS> ( <NOT> )? <NULL></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod90" xreflabel="setCrit"/>setCrit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod93" xreflabel="setCrit"/>setCrit</para></entry>
<entry align="left" valign="top"><para>::=
-( <NOT> )? <IN> ( ( <link linkend="prod96">subquery</link> ) | ( <LPAREN> <link linkend="prod87">commonValueExpression</link> ( <COMMA> <link linkend="prod87">commonValueExpression</link> )* <RPAREN> ) )</para></entry></row>
+( <NOT> )? <IN> ( ( <link linkend="prod100">subqueryAndHint</link> ) | ( <LPAREN> <link linkend="prod90">commonValueExpression</link> ( <COMMA> <link linkend="prod90">commonValueExpression</link> )* <RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod94" xreflabel="existsCriteria"/>existsCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod97" xreflabel="existsCriteria"/>existsCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-<EXISTS> <link linkend="prod96">subquery</link></para></entry></row>
+<EXISTS> <link linkend="prod100">subqueryAndHint</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod57" xreflabel="groupBy"/>groupBy</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod59" xreflabel="groupBy"/>groupBy</para></entry>
<entry align="left" valign="top"><para>::=
-<GROUP> <BY> ( <link linkend="prod97">groupByItem</link> ( <COMMA> <link linkend="prod97">groupByItem</link> )* )</para></entry></row>
+<GROUP> <BY> ( <link linkend="prod101">groupByItem</link> ( <COMMA> <link linkend="prod101">groupByItem</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod97" xreflabel="groupByItem"/>groupByItem</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod101" xreflabel="groupByItem"/>groupByItem</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod21">expression</link></para></entry></row>
+<link linkend="prod23">expression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod58" xreflabel="having"/>having</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod60" xreflabel="having"/>having</para></entry>
<entry align="left" valign="top"><para>::=
-<HAVING> <link linkend="prod32">criteria</link></para></entry></row>
+<HAVING> <link linkend="prod34">criteria</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod50" xreflabel="orderby"/>orderby</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod52" xreflabel="orderby"/>orderby</para></entry>
<entry align="left" valign="top"><para>::=
-<ORDER> <BY> <link linkend="prod98">sortSpecification</link> ( <COMMA> <link linkend="prod98">sortSpecification</link> )*</para></entry></row>
+<ORDER> <BY> <link linkend="prod102">sortSpecification</link> ( <COMMA> <link linkend="prod102">sortSpecification</link> )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod98" xreflabel="sortSpecification"/>sortSpecification</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod102" xreflabel="sortSpecification"/>sortSpecification</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod99">sortKey</link> ( <ASC> | <DESC> )? ( <link linkend="prod18">nonReserved</link> <link linkend="prod18">nonReserved</link> )?</para></entry></row>
+<link linkend="prod103">sortKey</link> ( <ASC> | <DESC> )? ( <link linkend="prod11">nonReserved</link> <link linkend="prod11">nonReserved</link> )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod99" xreflabel="sortKey"/>sortKey</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod103" xreflabel="sortKey"/>sortKey</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod21">expression</link></para></entry></row>
+<link linkend="prod23">expression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod51" xreflabel="limit"/>limit</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod53" xreflabel="limit"/>limit</para></entry>
<entry align="left" valign="top"><para>::=
<LIMIT> ( <INTEGERVAL> | <QMARK> ) ( <COMMA> ( <INTEGERVAL> | <QMARK> ) )?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod42" xreflabel="option"/>option</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod44" xreflabel="option"/>option</para></entry>
<entry align="left" valign="top"><para>::=
<OPTION> ( <MAKEDEP> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* | <MAKENOTDEP> <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* | <NOCACHE> ( <link linkend="prod2">id</link> ( <COMMA> <link linkend="prod2">id</link> )* )? )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod21" xreflabel="expression"/>expression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod23" xreflabel="expression"/>expression</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod32">criteria</link></para></entry></row>
+<link linkend="prod34">criteria</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod87" xreflabel="commonValueExpression"/>commonValueExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod90" xreflabel="commonValueExpression"/>commonValueExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod100">plusExpression</link> ( <CONCAT_OP> <link linkend="prod100">plusExpression</link> )* )</para></entry></row>
+( <link linkend="prod104">plusExpression</link> ( <CONCAT_OP> <link linkend="prod104">plusExpression</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod100" xreflabel="plusExpression"/>plusExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod104" xreflabel="plusExpression"/>plusExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod101">timesExpression</link> ( <link linkend="prod102">plusOperator</link> <link linkend="prod101">timesExpression</link> )* )</para></entry></row>
+( <link linkend="prod105">timesExpression</link> ( <link linkend="prod106">plusOperator</link> <link linkend="prod105">timesExpression</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod102" xreflabel="plusOperator"/>plusOperator</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod106" xreflabel="plusOperator"/>plusOperator</para></entry>
<entry align="left" valign="top"><para>::=
( <PLUS> | <MINUS> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod101" xreflabel="timesExpression"/>timesExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod105" xreflabel="timesExpression"/>timesExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod103">valueExpressionPrimary</link> ( <link linkend="prod104">timesOperator</link> <link linkend="prod103">valueExpressionPrimary</link> )* )</para></entry></row>
+( <link linkend="prod107">valueExpressionPrimary</link> ( <link linkend="prod108">timesOperator</link> <link linkend="prod107">valueExpressionPrimary</link> )* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod104" xreflabel="timesOperator"/>timesOperator</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod108" xreflabel="timesOperator"/>timesOperator</para></entry>
<entry align="left" valign="top"><para>::=
( <STAR> | <SLASH> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod103" xreflabel="valueExpressionPrimary"/>valueExpressionPrimary</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod107" xreflabel="valueExpressionPrimary"/>valueExpressionPrimary</para></entry>
<entry align="left" valign="top"><para>::=
-( <QMARK> | <link linkend="prod105">literal</link> | ( <LBRACE> <link linkend="prod18">nonReserved</link> <link linkend="prod106">function</link> <RBRACE> ) | ( <link linkend="prod64">textAgg</link> ) | ( <link linkend="prod66">aggregateSymbol</link> ) | ( <link linkend="prod66">aggregateSymbol</link> ) | ( <link linkend="prod66">aggregateSymbol</link> ) | ( <link linkend="prod63">xmlAgg</link> ) | ( <link linkend="prod106">function</link> ) | ( <ID> ) | <link linkend="prod96">subquery</link> | ( <LPAREN> <link linkend="prod21">expression</link> <RPAREN> ) | <link linkend="prod107">searchedCaseExpression</link> | <link linkend="prod108">caseExpression</link> )</para></entry></row>
+( <QMARK> | <POS_REF> | <link linkend="prod109">literal</link> | ( <LBRACE> <link linkend="prod11">nonReserved</link> <link linkend="prod110">function</link> <RBRACE> ) | ( <link linkend="prod67">textAgg</link> ) | ( <link linkend="prod69">aggregateSymbol</link> ) | ( <link linkend="prod69">aggregateSymbol</link> ) | ( <link linkend="prod69">aggregateSymbol</link> ) | ( <link linkend="prod65">xmlAgg</link> ) | ( <link linkend="prod66">arrayAgg</link> ) | ( <link linkend="prod110">function</link> ) | ( <ID> ( <LSBRACE> <link linkend="prod82">intVal</link> <RSBRACE> )? ) | <link linkend="prod99">subquery</link> | ( <LPAREN> <link linkend="prod23">expression</link> <RPAREN> ( <LSBRACE> <link linkend="prod82">intVal</link> <RSBRACE> )? ) | <link linkend="prod111">searchedCaseExpression</link> | <link linkend="prod112">caseExpression</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod108" xreflabel="caseExpression"/>caseExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod112" xreflabel="caseExpression"/>caseExpression</para></entry>
<entry align="left" valign="top"><para>::=
-<CASE> <link linkend="prod21">expression</link> ( <WHEN> <link linkend="prod21">expression</link> <THEN> <link linkend="prod21">expression</link> )+ ( <ELSE> <link linkend="prod21">expression</link> )? <END></para></entry></row>
+<CASE> <link linkend="prod23">expression</link> ( <WHEN> <link linkend="prod23">expression</link> <THEN> <link linkend="prod23">expression</link> )+ ( <ELSE> <link linkend="prod23">expression</link> )? <END></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod107" xreflabel="searchedCaseExpression"/>searchedCaseExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod111" xreflabel="searchedCaseExpression"/>searchedCaseExpression</para></entry>
<entry align="left" valign="top"><para>::=
-<CASE> ( <WHEN> <link linkend="prod32">criteria</link> <THEN> <link linkend="prod21">expression</link> )+ ( <ELSE> <link linkend="prod21">expression</link> )? <END></para></entry></row>
+<CASE> ( <WHEN> <link linkend="prod34">criteria</link> <THEN> <link linkend="prod23">expression</link> )+ ( <ELSE> <link linkend="prod23">expression</link> )? <END></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod106" xreflabel="function"/>function</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod110" xreflabel="function"/>function</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <CONVERT> <LPAREN> <link linkend="prod21">expression</link> <COMMA> <link linkend="prod35">dataType</link> <RPAREN> ) | ( <CAST> <LPAREN> <link linkend="prod21">expression</link> <AS> <link linkend="prod35">dataType</link> <RPAREN> ) | ( <link linkend="prod18">nonReserved</link> <LPAREN> <link linkend="prod21">expression</link> <COMMA> <link linkend="prod109">stringConstant</link> <RPAREN> ) | ( <link linkend="prod18">nonReserved</link> <LPAREN> <link linkend="prod110">intervalType</link> <COMMA> <link linkend="prod21">expression</link> <COMMA> <link linkend="prod21">expression</link> <RPAREN> ) | <link linkend="prod111">queryString</link> | ( ( <LEFT> | <RIGHT> | <CHAR> | <USER> | <YEAR> | <MONTH> | <HOUR> | <MINUTE> | <SECOND> | <XMLCONCAT> | <XMLCOMMENT> ) <LPAREN> ( <link linkend="prod21">expression</link> !
( <COMMA> <link linkend="prod21">expression</link> )* )? <RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod21">expression</link> )* )? <RPAREN> ) | ( ( <TRANSLATE> ) <LPAREN> ( <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod21">expression</link> )* )? <RPAREN> ) | <link linkend="prod112">xmlParse</link> | <link linkend="prod113">xmlElement</link> | ( <XMLPI> <LPAREN> ( <ID> <link linkend="prod114">idExpression</link> | <link linkend="prod114">idExpression</link> ) ( <COMMA> <link linkend="prod21">expression</link> )? <RPAREN> ) | <link linkend="prod115">xmlForest</link> | <link linkend="prod77">xmlSerialize</link> | <link linkend="prod80">xmlQuery</link> | ( <link linkend="prod2">id</link> <LPAREN> ( <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod21">expression</link> )*!
)? <RPAREN> ) )</para></entry></row>
+( ( <CONVERT> <LPAREN> <link linkend="prod23">expression</link> <COMMA> <link linkend="prod37">dataType</link> <RPAREN> ) | ( <CAST> <LPAREN> <link linkend="prod23">expression</link> <AS> <link linkend="prod37">dataType</link> <RPAREN> ) | ( <link linkend="prod11">nonReserved</link> <LPAREN> <link linkend="prod23">expression</link> <COMMA> <link linkend="prod113">stringConstant</link> <RPAREN> ) | ( <link linkend="prod11">nonReserved</link> <LPAREN> <link linkend="prod114">intervalType</link> <COMMA> <link linkend="prod23">expression</link> <COMMA> <link linkend="prod23">expression</link> <RPAREN> ) | <link linkend="prod115">queryString</link> | ( ( <LEFT> | <RIGHT> | <CHAR> | <USER> | <YEAR> | <MONTH> | <HOUR> | <MINUTE> | <SECOND> | <XMLCONCAT> | <XMLCOMMENT> ) <LPAREN> ( <link linkend="prod23">expression</link> !
( <COMMA> <link linkend="prod23">expression</link> )* )? <RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod23">expression</link> )* )? <RPAREN> ) | ( ( <TRANSLATE> ) <LPAREN> ( <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod23">expression</link> )* )? <RPAREN> ) | <link linkend="prod116">xmlParse</link> | <link linkend="prod117">xmlElement</link> | ( <XMLPI> <LPAREN> ( <ID> <link linkend="prod118">idExpression</link> | <link linkend="prod118">idExpression</link> ) ( <COMMA> <link linkend="prod23">expression</link> )? <RPAREN> ) | <link linkend="prod119">xmlForest</link> | <link linkend="prod80">xmlSerialize</link> | <link linkend="prod83">xmlQuery</link> | ( <link linkend="prod2">id</link> <LPAREN> ( <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod23">expression</link> )*!
)? <RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod109" xreflabel="stringConstant"/>stringConstant</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod113" xreflabel="stringConstant"/>stringConstant</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod1">stringVal</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod112" xreflabel="xmlParse"/>xmlParse</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod116" xreflabel="xmlParse"/>xmlParse</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLPARSE> <LPAREN> <link linkend="prod18">nonReserved</link> <link linkend="prod21">expression</link> ( <link linkend="prod18">nonReserved</link> )? <RPAREN></para></entry></row>
+<XMLPARSE> <LPAREN> <link linkend="prod11">nonReserved</link> <link linkend="prod23">expression</link> ( <link linkend="prod11">nonReserved</link> )? <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod111" xreflabel="queryString"/>queryString</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod115" xreflabel="queryString"/>queryString</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod18">nonReserved</link> <LPAREN> <link linkend="prod21">expression</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* <RPAREN></para></entry></row>
+<link linkend="prod11">nonReserved</link> <LPAREN> <link linkend="prod23">expression</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod113" xreflabel="xmlElement"/>xmlElement</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod117" xreflabel="xmlElement"/>xmlElement</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLELEMENT> <LPAREN> ( <ID> <link linkend="prod2">id</link> | <link linkend="prod2">id</link> ) ( <COMMA> <link linkend="prod81">xmlNamespaces</link> )? ( <COMMA> <link linkend="prod116">xmlAttributes</link> )? ( <COMMA> <link linkend="prod21">expression</link> )* <RPAREN></para></entry></row>
+<XMLELEMENT> <LPAREN> ( <ID> <link linkend="prod2">id</link> | <link linkend="prod2">id</link> ) ( <COMMA> <link linkend="prod84">xmlNamespaces</link> )? ( <COMMA> <link linkend="prod120">xmlAttributes</link> )? ( <COMMA> <link linkend="prod23">expression</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod116" xreflabel="xmlAttributes"/>xmlAttributes</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod120" xreflabel="xmlAttributes"/>xmlAttributes</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLATTRIBUTES> <LPAREN> <link linkend="prod62">derivedColumn</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* <RPAREN></para></entry></row>
+<XMLATTRIBUTES> <LPAREN> <link linkend="prod64">derivedColumn</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod115" xreflabel="xmlForest"/>xmlForest</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod119" xreflabel="xmlForest"/>xmlForest</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLFOREST> <LPAREN> ( <link linkend="prod81">xmlNamespaces</link> <COMMA> )? <link linkend="prod62">derivedColumn</link> ( <COMMA> <link linkend="prod62">derivedColumn</link> )* <RPAREN></para></entry></row>
+<XMLFOREST> <LPAREN> ( <link linkend="prod84">xmlNamespaces</link> <COMMA> )? <link linkend="prod64">derivedColumn</link> ( <COMMA> <link linkend="prod64">derivedColumn</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod81" xreflabel="xmlNamespaces"/>xmlNamespaces</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod84" xreflabel="xmlNamespaces"/>xmlNamespaces</para></entry>
<entry align="left" valign="top"><para>::=
-<XMLNAMESPACES> <LPAREN> <link linkend="prod117">namespaceItem</link> ( <COMMA> <link linkend="prod117">namespaceItem</link> )* <RPAREN></para></entry></row>
+<XMLNAMESPACES> <LPAREN> <link linkend="prod121">namespaceItem</link> ( <COMMA> <link linkend="prod121">namespaceItem</link> )* <RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod117" xreflabel="namespaceItem"/>namespaceItem</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod121" xreflabel="namespaceItem"/>namespaceItem</para></entry>
<entry align="left" valign="top"><para>::=
( <link linkend="prod1">stringVal</link> <AS> <link linkend="prod2">id</link> )</para></entry></row>
<row>
@@ -850,23 +870,23 @@
<entry align="left" valign="top"><para>::=
( <DEFAULT_KEYWORD> <link linkend="prod1">stringVal</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod114" xreflabel="idExpression"/>idExpression</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod118" xreflabel="idExpression"/>idExpression</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod2">id</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod19" xreflabel="dataTypeString"/>dataTypeString</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod21" xreflabel="dataTypeString"/>dataTypeString</para></entry>
<entry align="left" valign="top"><para>::=
( <STRING> | <VARCHAR> | <BOOLEAN> | <BYTE> | <TINYINT> | <SHORT> | <SMALLINT> | <CHAR> | <INTEGER> | <LONG> | <BIGINT> | <BIGINTEGER> | <FLOAT> | <REAL> | <DOUBLE> | <BIGDECIMAL> | <DECIMAL> | <DATE> | <TIME> | <TIMESTAMP> | <OBJECT> | <BLOB> | <CLOB> | <XML> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod35" xreflabel="dataType"/>dataType</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod37" xreflabel="dataType"/>dataType</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod19">dataTypeString</link></para></entry></row>
+<link linkend="prod21">dataTypeString</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod110" xreflabel="intervalType"/>intervalType</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod114" xreflabel="intervalType"/>intervalType</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod18">nonReserved</link> )</para></entry></row>
+( <link linkend="prod11">nonReserved</link> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor id="prod105" xreflabel="literal"/>literal</para></entry>
+<entry align="right" valign="top"><para><anchor id="prod109" xreflabel="literal"/>literal</para></entry>
<entry align="left" valign="top"><para>::=
( <link linkend="prod1">stringVal</link> | <INTEGERVAL> | <FLOATVAL> | <FALSE> | <TRUE> | <UNKNOWN> | <NULL> | ( ( <BOOLEANTYPE> | <TIMESTAMPTYPE> | <DATETYPE> | <TIMETYPE> ) <link linkend="prod1">stringVal</link> <RBRACE> ) )</para></entry></row>
</tbody>
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/system_schema.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/system_schema.xml 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/system_schema.xml 2011-04-28 02:55:13 UTC (rev 3126)
@@ -781,7 +781,7 @@
<para>string</para>
</entry>
<entry>
- <para>Minimum numeric value</para>
+ <para>Minimum value</para>
</entry>
</row>
<row>
@@ -792,11 +792,33 @@
<para>string</para>
</entry>
<entry>
- <para>Maximum numeric value</para>
+ <para>Maximum value</para>
</entry>
</row>
<row>
<entry>
+ <para>DistinctCount</para>
+ </entry>
+ <entry>
+ <para>integer</para>
+ </entry>
+ <entry>
+ <para>Distinct value count, -1 can indicate unknown</para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>NullCount</para>
+ </entry>
+ <entry>
+ <para>integer</para>
+ </entry>
+ <entry>
+ <para>Null value count, -1 can indicate unknown</para>
+ </entry>
+ </row>
+ <row>
+ <entry>
<para>SearchType</para>
</entry>
<entry>
@@ -1771,7 +1793,7 @@
<para>Parameters</para>
</entry>
<entry>
- <para>ResultSet</para>
+ <para>Description</para>
</entry>
</row>
</thead>
@@ -1781,10 +1803,10 @@
<para>SYS.getXMLSchemas</para>
</entry>
<entry>
- <para>(string document)</para>
+ <para>(in string document)</para>
</entry>
<entry>
- <para>A single column containing the schemas as clobs.</para>
+ <para>Returns a resultset with a single column, schema, containing the schemas as clobs.</para>
</entry>
</row>
<row>
@@ -1792,10 +1814,10 @@
<para>SYSADMIN.refreshMatView</para>
</entry>
<entry>
- <para>(string ViewName, boolean Invalidate)</para>
+ <para>(in string ViewName, in boolean Invalidate)</para>
</entry>
<entry>
- <para>An return return value, RowsUpdated. -1 indicates a load is in progress, otherwise the cardinality of the table is returned. See the Caching Guide for more.</para>
+ <para>Returns integer RowsUpdated. -1 indicates a load is in progress, otherwise the cardinality of the table is returned. See the Caching Guide for more.</para>
</entry>
</row>
<row>
@@ -1803,12 +1825,34 @@
<para>SYSADMIN.refreshMatViewRow</para>
</entry>
<entry>
- <para>(string ViewName, object Key)</para>
+ <para>(in string ViewName, in object Key)</para>
</entry>
<entry>
- <para>An return return value, RowsUpdated. -1 indicates the materialized table is currently invalid. 0 indicates that the specified row did not exist in the live data query or in the materialized table. See the Caching Guide for more.</para>
+ <para>Returns integer RowsUpdated. -1 indicates the materialized table is currently invalid. 0 indicates that the specified row did not exist in the live data query or in the materialized table. See the Caching Guide for more.</para>
</entry>
</row>
+ <row>
+ <entry>
+ <para>SYSADMIN.setTableStats</para>
+ </entry>
+ <entry>
+ <para>(in string TableName, in integer Cardinality)</para>
+ </entry>
+ <entry>
+ <para>Set statistics for the given table. A <code>MetadataRepository</code> must be configured to make the update persistent.</para>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <para>SYSADMIN.setColumnStats</para>
+ </entry>
+ <entry>
+ <para>(in string TableName, in string ColumnName, in integer DistinctCount, in integer NullCount, in string Max, in string Min)</para>
+ </entry>
+ <entry>
+ <para>Set statistics for the given column. A <code>MetadataRepository</code> must be configured to make the update persistent.</para>
+ </entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/AccessInfo.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/AccessInfo.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/AccessInfo.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -34,6 +34,8 @@
import org.teiid.api.exception.query.QueryResolverException;
import org.teiid.api.exception.query.QueryValidatorException;
import org.teiid.core.TeiidComponentException;
+import org.teiid.metadata.AbstractMetadataRecord;
+import org.teiid.metadata.Procedure;
import org.teiid.metadata.Table;
import org.teiid.query.metadata.TempMetadataID;
import org.teiid.query.metadata.TransformationMetadata;
@@ -51,16 +53,19 @@
private static final long serialVersionUID = -2608267960584191359L;
private transient Set<Table> viewsAccessed;
+ private transient Set<Procedure> proceduresAccessed;
private transient Set<Object> tablesAccessed;
private List<List<String>> externalTableNames;
private List<List<String>> externalViewNames;
+ private List<List<String>> externalProcedureNames;
private transient long creationTime = System.currentTimeMillis();
private void writeObject(java.io.ObjectOutputStream out) throws IOException {
externalTableNames = initExternalList(externalTableNames, tablesAccessed);
externalViewNames = initExternalList(externalViewNames, viewsAccessed);
+ externalProcedureNames = initExternalList(externalProcedureNames, proceduresAccessed);
out.defaultWriteObject();
}
@@ -73,8 +78,8 @@
if (externalNames == null) {
externalNames = new ArrayList<List<String>>(accessed.size());
for (Object object : accessed) {
- if (object instanceof Table) {
- Table t = (Table)object;
+ if (object instanceof AbstractMetadataRecord) {
+ AbstractMetadataRecord t = (AbstractMetadataRecord)object;
externalNames.add(Arrays.asList(t.getParent().getName(), t.getName()));
} else if (object instanceof TempMetadataID) {
TempMetadataID t = (TempMetadataID)object;
@@ -84,6 +89,10 @@
}
return externalNames;
}
+
+ public Set<Procedure> getProceduresAccessed() {
+ return proceduresAccessed;
+ }
public Set<Table> getViewsAccessed() {
return viewsAccessed;
@@ -113,6 +122,11 @@
} else {
this.viewsAccessed = Collections.emptySet();
}
+ if (!context.getProceduresAccessed().isEmpty()) {
+ this.proceduresAccessed = new HashSet<Procedure>(context.getProceduresAccessed());
+ } else {
+ this.proceduresAccessed = Collections.emptySet();
+ }
}
void restore() throws QueryResolverException, QueryValidatorException, TeiidComponentException {
@@ -150,6 +164,14 @@
this.tablesAccessed = Collections.emptySet();
}
this.externalTableNames = null;
+ if (!externalProcedureNames.isEmpty()) {
+ for (List<String> key : this.externalProcedureNames) {
+ this.proceduresAccessed.add(tm.getMetadataStore().getSchema(key.get(0).toUpperCase()).getProcedures().get(key.get(1).toUpperCase()));
+ }
+ } else {
+ this.proceduresAccessed = Collections.emptySet();
+ }
+ this.externalProcedureNames = null;
}
boolean validate(boolean data, long modTime) {
@@ -162,6 +184,11 @@
return false;
}
}
+ for (Procedure p : getProceduresAccessed()) {
+ if (p.getLastModified() - modTime > this.creationTime) {
+ return false;
+ }
+ }
}
for (Object o : getTablesAccessed()) {
if (o instanceof Table) {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -25,7 +25,7 @@
import org.teiid.cache.CacheConfiguration;
import org.teiid.client.RequestMessage;
import org.teiid.core.util.ApplicationInfo;
-import org.teiid.metadata.MetadataProvider;
+import org.teiid.metadata.MetadataRepository;
public class DQPConfiguration{
@@ -58,7 +58,6 @@
private boolean detectingChangeEvents = true;
private transient AuthorizationValidator authorizationValidator;
- private transient MetadataProvider metadataProvider;
private boolean allowFunctionCallsByDefault;
@ManagementProperty(description="Max active plans (default 20). Increase this value, and max threads, on highly concurrent systems - but ensure that the underlying pools can handle the increased load without timeouts.")
@@ -229,14 +228,10 @@
this.authorizationValidator = authorizationValidator;
}
- public MetadataProvider getMetadataProvider() {
- return metadataProvider;
+ public MetadataRepository getMetadataRepository() {
+ return null;
}
- public void setMetadataProvider(MetadataProvider metadataProvider) {
- this.metadataProvider = metadataProvider;
- }
-
public CacheConfiguration getPreparedPlanCacheConfig() {
return preparedPlanCacheConfig;
}
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-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -67,11 +67,13 @@
import org.teiid.dqp.service.TransactionContext;
import org.teiid.dqp.service.TransactionService;
import org.teiid.dqp.service.TransactionContext.Scope;
+import org.teiid.events.EventDistributor;
import org.teiid.logging.CommandLogMessage;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.logging.MessageLevel;
import org.teiid.logging.CommandLogMessage.Event;
+import org.teiid.metadata.MetadataRepository;
import org.teiid.query.QueryPlugin;
import org.teiid.query.tempdata.TempTableDataManager;
import org.teiid.query.tempdata.TempTableStore;
@@ -175,6 +177,8 @@
private SessionAwareCache<CachedResults> rsCache;
private TransactionService transactionService;
private BufferService bufferService;
+ private EventDistributor eventDistributor;
+ private MetadataRepository metadataRepository;
private DQPConfiguration config = new DQPConfiguration();
@@ -324,7 +328,6 @@
request.setResultSetCacheEnabled(this.rsCache != null);
request.setAuthorizationValidator(this.authorizationValidator);
request.setUserRequestConcurrency(this.getUserRequestSourceConcurrency());
- request.setMetadataProvider(this.config.getMetadataProvider());
ResultsFuture<ResultsMessage> resultsFuture = new ResultsFuture<ResultsMessage>();
RequestWorkItem workItem = new RequestWorkItem(this, requestMsg, request, resultsFuture.getResultsReceiver(), requestID, workContext);
logMMCommand(workItem, Event.NEW, null);
@@ -715,7 +718,11 @@
matTables.setBufferManager(this.bufferManager);
}
- dataTierMgr = new TempTableDataManager(new DataTierManagerImpl(this,this.bufferService, this.config.isDetectingChangeEvents()), this.bufferManager, this.processWorkerPool, this.rsCache, this.matTables, this.cacheFactory);
+ DataTierManagerImpl processorDataManager = new DataTierManagerImpl(this,this.bufferService, this.config.isDetectingChangeEvents());
+ processorDataManager.setEventDistributor(eventDistributor);
+ processorDataManager.setMetadataRepository(metadataRepository);
+ dataTierMgr = new TempTableDataManager(processorDataManager, this.bufferManager, this.processWorkerPool, this.rsCache, this.matTables, this.cacheFactory);
+ dataTierMgr.setEventDistributor(eventDistributor);
}
public void setBufferService(BufferService service) {
@@ -726,6 +733,14 @@
this.transactionService = service;
}
+ public void setMetadataRepository(MetadataRepository metadataRepository) {
+ this.metadataRepository = metadataRepository;
+ }
+
+ public void setEventDistributor(EventDistributor eventDistributor) {
+ this.eventDistributor = eventDistributor;
+ }
+
@Override
public boolean cancelRequest(long requestID)
throws TeiidProcessingException, TeiidComponentException {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -55,13 +55,16 @@
import org.teiid.events.EventDistributor;
import org.teiid.metadata.AbstractMetadataRecord;
import org.teiid.metadata.Column;
+import org.teiid.metadata.ColumnStats;
import org.teiid.metadata.Datatype;
import org.teiid.metadata.ForeignKey;
import org.teiid.metadata.KeyRecord;
+import org.teiid.metadata.MetadataRepository;
import org.teiid.metadata.Procedure;
import org.teiid.metadata.ProcedureParameter;
import org.teiid.metadata.Schema;
import org.teiid.metadata.Table;
+import org.teiid.metadata.TableStats;
import org.teiid.query.QueryPlugin;
import org.teiid.query.metadata.CompositeMetadataStore;
import org.teiid.query.metadata.TempMetadataID;
@@ -104,6 +107,11 @@
VDBRESOURCES
}
+ private enum SystemAdminProcs {
+ SETTABLESTATS,
+ SETCOLUMNSTATS
+ }
+
private enum SystemProcs {
GETXMLSCHEMAS
}
@@ -113,6 +121,7 @@
private BufferService bufferService;
private EventDistributor eventDistributor;
private boolean detectChangeEvents;
+ private MetadataRepository metadataRepository;
public DataTierManagerImpl(DQPCore requestMgr, BufferService bufferService, boolean detectChangeEvents) {
this.requestMgr = requestMgr;
@@ -132,6 +141,10 @@
return eventDistributor;
}
+ public void setMetadataRepository(MetadataRepository metadataRepository) {
+ this.metadataRepository = metadataRepository;
+ }
+
public TupleSource registerRequest(CommandContext context, Command command, String modelName, String connectorBindingId, int nodeID, int limit) throws TeiidComponentException, TeiidProcessingException {
RequestWorkItem workItem = requestMgr.getRequestWorkItem((RequestID)context.getProcessorID());
@@ -170,7 +183,7 @@
Query query = (Query)command;
UnaryFromClause ufc = (UnaryFromClause)query.getFrom().getClauses().get(0);
GroupSymbol group = ufc.getGroup();
- if (StringUtil.startsWithIgnoreCase(group.getNonCorrelationName(), (CoreConstants.SYSTEM_ADMIN_MODEL))) {
+ if (StringUtil.startsWithIgnoreCase(group.getNonCorrelationName(), CoreConstants.SYSTEM_ADMIN_MODEL)) {
final SystemAdminTables sysTable = SystemAdminTables.valueOf(group.getNonCorrelationName().substring(CoreConstants.SYSTEM_ADMIN_MODEL.length() + 1).toUpperCase());
switch (sysTable) {
case MATVIEWS:
@@ -296,7 +309,8 @@
rows.add(Arrays.asList(vdbName, schema.getName(), table.getName(), column.getName(), column.getPosition(), column.getNameInSource(),
dt!=null?dt.getRuntimeTypeName():null, column.getScale(), column.getLength(), column.isFixedLength(), column.isSelectable(), column.isUpdatable(),
column.isCaseSensitive(), column.isSigned(), column.isCurrency(), column.isAutoIncremented(), column.getNullType().toString(), column.getMinimumValue(),
- column.getMaximumValue(), column.getSearchType().toString(), column.getFormat(), column.getDefaultValue(), dt!=null?dt.getJavaClassName():null, column.getPrecision(),
+ column.getMaximumValue(), column.getDistinctValues(), column.getNullValues(), column.getSearchType().toString(), column.getFormat(),
+ column.getDefaultValue(), dt!=null?dt.getJavaClassName():null, column.getPrecision(),
column.getCharOctetLength(), column.getRadix(), column.getUUID(), column.getAnnotation(), oid++));
}
break;
@@ -331,7 +345,68 @@
break;
}
} else {
- StoredProcedure proc = (StoredProcedure)command;
+ StoredProcedure proc = (StoredProcedure)command;
+ if (StringUtil.startsWithIgnoreCase(proc.getProcedureCallableName(), CoreConstants.SYSTEM_ADMIN_MODEL)) {
+ final SystemAdminProcs sysProc = SystemAdminProcs.valueOf(proc.getProcedureCallableName().substring(CoreConstants.SYSTEM_ADMIN_MODEL.length() + 1).toUpperCase());
+ Table table = indexMetadata.getGroupID((String)((Constant)proc.getParameter(1).getExpression()).getValue());
+ switch (sysProc) {
+ case SETCOLUMNSTATS:
+ String columnName = (String)((Constant)proc.getParameter(2).getExpression()).getValue();
+ Column c = null;
+ for (Column col : table.getColumns()) {
+ if (col.getName().equalsIgnoreCase(columnName)) {
+ c = col;
+ break;
+ }
+ }
+ if (c == null) {
+ throw new TeiidProcessingException(columnName + TransformationMetadata.NOT_EXISTS_MESSAGE);
+ }
+ Integer distinctVals = (Integer)((Constant)proc.getParameter(3).getExpression()).getValue();
+ Integer nullVals = (Integer)((Constant)proc.getParameter(4).getExpression()).getValue();
+ String max = (String) ((Constant)proc.getParameter(5).getExpression()).getValue();
+ String min = (String) ((Constant)proc.getParameter(6).getExpression()).getValue();
+ if (distinctVals != null) {
+ c.setDistinctValues(distinctVals);
+ }
+ if (nullVals != null) {
+ c.setNullValues(nullVals);
+ }
+ if (max != null) {
+ c.setMaximumValue(max);
+ }
+ if (min != null) {
+ c.setMinimumValue(min);
+ }
+ ColumnStats columnStats = new ColumnStats();
+ columnStats.setDistinctValues(distinctVals);
+ columnStats.setNullValues(nullVals);
+ columnStats.setMaximumValue(max);
+ columnStats.setMinimumValue(min);
+ if (eventDistributor != null) {
+ eventDistributor.setColumnStats(vdbName, vdbVersion, table.getParent().getName(), table.getName(), columnName, columnStats);
+ }
+ if (this.metadataRepository != null) {
+ this.metadataRepository.setColumnStats(vdbName, vdbVersion, c, columnStats);
+ }
+ break;
+ case SETTABLESTATS:
+ Constant val = (Constant)proc.getParameter(2).getExpression();
+ int cardinality = (Integer)val.getValue();
+ table.setCardinality(cardinality);
+ TableStats tableStats = new TableStats();
+ tableStats.setCardinality(cardinality);
+ if (eventDistributor != null) {
+ eventDistributor.setTableStats(vdbName, vdbVersion, table.getParent().getName(), table.getName(), tableStats);
+ }
+ if (this.metadataRepository != null) {
+ this.metadataRepository.setTableStats(vdbName, vdbVersion, table, tableStats);
+ }
+ break;
+ }
+ table.setLastModified(System.currentTimeMillis());
+ return new CollectionTupleSource(rows.iterator());
+ }
final SystemProcs sysTable = SystemProcs.valueOf(proc.getProcedureCallableName().substring(CoreConstants.SYSTEM_MODEL.length() + 1).toUpperCase());
switch (sysTable) {
case GETXMLSCHEMAS:
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -25,9 +25,7 @@
import java.sql.Connection;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -59,14 +57,10 @@
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.logging.MessageLevel;
-import org.teiid.metadata.MetadataProvider;
-import org.teiid.metadata.ViewDefinition;
import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.query.QueryPlugin;
import org.teiid.query.analysis.AnalysisRecord;
import org.teiid.query.eval.SecurityFunctionEvaluator;
-import org.teiid.query.mapping.relational.QueryNode;
-import org.teiid.query.metadata.BasicQueryMetadataWrapper;
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.metadata.TempCapabilitiesFinder;
import org.teiid.query.metadata.TempMetadataAdapter;
@@ -106,47 +100,6 @@
*/
public class Request implements SecurityFunctionEvaluator {
- private final class ViewDefinitionMetadataWrapper extends
- BasicQueryMetadataWrapper {
-
- private Map<Object, QueryNode> qnodes = new HashMap<Object, QueryNode>();
-
- private ViewDefinitionMetadataWrapper(
- QueryMetadataInterface actualMetadata) {
- super(actualMetadata);
- }
-
- @Override
- public QueryNode getVirtualPlan(Object groupID)
- throws TeiidComponentException, QueryMetadataException {
- QueryNode result = super.getVirtualPlan(groupID);
- //if there's no exception, then this must be a visible view
-
- String schema = getName(getModelID(groupID));
- String viewName = getName(groupID);
-
- QueryNode cached = qnodes.get(groupID);
- if (cached != null) {
- return cached;
- }
- if (context == null) {
- //TODO: could just consider moving up when the context is created
- throw new AssertionError("Should not attempt to resolve a view before the context has been set."); //$NON-NLS-1$
- }
- ViewDefinition vd = metadataProvider.getViewDefinition(schema, viewName, context);
- if (vd != null) {
- result = new QueryNode(DataTypeManager.getCanonicalString(vd.getSql()));
- }
- qnodes.put(groupID, result);
- return result;
- }
-
- @Override
- public QueryMetadataInterface getDesignTimeMetadata() {
- return new ViewDefinitionMetadataWrapper(this.actualMetadata.getDesignTimeMetadata());
- }
- }
-
// init state
protected RequestMessage requestMsg;
private String vdbName;
@@ -182,7 +135,6 @@
private boolean resultSetCacheEnabled = true;
private int userRequestConcurrency;
private AuthorizationValidator authorizationValidator;
- private MetadataProvider metadataProvider;
void initialize(RequestMessage requestMsg,
BufferManager bufferManager,
@@ -221,10 +173,6 @@
this.authorizationValidator = authorizationValidator;
}
- public void setMetadataProvider(MetadataProvider metadataProvider) {
- this.metadataProvider = metadataProvider;
- }
-
/**
* if the metadata has not been supplied via setMetadata, this method will create the appropriate state
*
@@ -253,10 +201,6 @@
this.metadata = new MultiSourceMetadataWrapper(this.metadata, this.multiSourceModels);
}
- if (this.metadataProvider != null) {
- this.metadata = new ViewDefinitionMetadataWrapper(this.metadata);
- }
-
TempMetadataAdapter tma = new TempMetadataAdapter(metadata, new TempMetadataStore());
tma.setSession(true);
this.metadata = tma;
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/QueryOptimizer.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -36,6 +36,7 @@
import org.teiid.core.id.IDGenerator;
import org.teiid.core.id.IntegerIDFactory;
import org.teiid.dqp.internal.process.PreparedPlan;
+import org.teiid.metadata.Procedure;
import org.teiid.metadata.Table;
import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.query.analysis.AnalysisRecord;
@@ -129,6 +130,9 @@
for (Table t : pp.getAccessInfo().getViewsAccessed()) {
context.accessedView(t);
}
+ for (Procedure p : pp.getAccessInfo().getProceduresAccessed()) {
+ context.accessedProcedure(p);
+ }
}
// propagate procedure parameters to the plan to allow runtime type checking
ProcedureContainer container = (ProcedureContainer)cupc.getUserCommand();
Modified: trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/query/processor/ProcessorDataManager.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -26,7 +26,6 @@
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
-import org.teiid.events.EventDistributor;
import org.teiid.query.sql.lang.Command;
import org.teiid.query.util.CommandContext;
@@ -49,6 +48,4 @@
Object keyValue) throws BlockedException,
TeiidComponentException, TeiidProcessingException;
- void setEventDistributor(EventDistributor ed);
-
}
Modified: trunk/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/query/tempdata/TempTableDataManager.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -161,7 +161,6 @@
public void setEventDistributor(EventDistributor eventDistributor) {
this.eventDistributor = eventDistributor;
- this.processorDataManager.setEventDistributor(eventDistributor);
}
public TupleSource registerRequest(
Modified: trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -40,6 +40,7 @@
import org.teiid.dqp.internal.process.PreparedPlan;
import org.teiid.dqp.internal.process.SessionAwareCache;
import org.teiid.dqp.internal.process.SessionAwareCache.CacheID;
+import org.teiid.metadata.Procedure;
import org.teiid.metadata.Table;
import org.teiid.metadata.FunctionMethod.Determinism;
import org.teiid.query.QueryPlugin;
@@ -126,6 +127,7 @@
private LinkedList<String> recursionStack;
private boolean nonBlocking;
private HashSet<Table> viewsAccessed;
+ private HashSet<Procedure> proceduresAccessed;
/**
* Construct a new context.
@@ -551,4 +553,18 @@
return viewsAccessed;
}
+ public void accessedProcedure(Procedure id) {
+ if (this.proceduresAccessed == null) {
+ this.proceduresAccessed = new HashSet<Procedure>();
+ }
+ this.proceduresAccessed.add(id);
+ }
+
+ public Set<Procedure> getProceduresAccessed() {
+ if (this.proceduresAccessed == null) {
+ return Collections.emptySet();
+ }
+ return proceduresAccessed;
+ }
+
}
Modified: trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj
===================================================================
--- trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj 2011-04-28 02:55:13 UTC (rev 3126)
@@ -448,7 +448,7 @@
{
(LOOKAHEAD(2) command = createUpdateProcedure(info) |
command = userCommand(info) |
- command = callableStatement(info)
+ command = callableStatement(info)
)
[<SEMICOLON>]
<EOF>
@@ -485,6 +485,31 @@
}
}
+Command alter(ParseInfo info) :
+{
+ String target = null;
+ QueryCommand command = null;
+ Block block = null;
+ TriggerAction triggerAction = null;
+}
+{
+ <ALTER>
+ (
+ (nonReserved("VIEW") target = id() <AS> command = queryExpression(info))
+ {
+ }
+ | (<PROCEDURE> target = id() <AS> block = block(info))
+ {
+ }
+ | (<TRIGGER> <ON> target = id() nonReserved("INSTEAD") <OF> (<INSERT>|<UPDATE>|<DELETE>) <AS> triggerAction = triggerAction(info))
+ {
+ }
+ )
+ {
+ return null;
+ }
+}
+
TriggerAction triggerAction(ParseInfo info) :
{
Block b = null;
@@ -508,7 +533,8 @@
command = update(info) |
command = delete(info) |
command = dropTable(info) |
- command = createTempTable(info)
+ command = createTempTable(info) |
+ command = alter(info)
)
{
return command;
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -35,7 +35,6 @@
import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mockito;
-import org.teiid.CommandContext;
import org.teiid.api.exception.query.QueryResolverException;
import org.teiid.cache.CacheConfiguration;
import org.teiid.cache.DefaultCacheFactory;
@@ -50,8 +49,6 @@
import org.teiid.dqp.internal.process.AbstractWorkItem.ThreadState;
import org.teiid.dqp.service.AutoGenDataService;
import org.teiid.dqp.service.BufferService;
-import org.teiid.metadata.MetadataProvider;
-import org.teiid.metadata.ViewDefinition;
import org.teiid.query.optimizer.TestOptimizer;
import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
import org.teiid.query.optimizer.capabilities.SourceCapabilities.Capability;
@@ -329,33 +326,6 @@
assertEquals(1, agds.getExecuteCount().get());
}
- @Test public void testMetadataProvider() throws Exception {
- this.config.setMetadataProvider(new MetadataProvider() {
- int callCount;
- @Override
- public ViewDefinition getViewDefinition(String schema,
- String viewName, CommandContext context) {
- if (callCount++ > 0) {
- ViewDefinition vd = new ViewDefinition("SELECT 'something else'");
- return vd;
- }
- ViewDefinition vd = new ViewDefinition("SELECT 'hello world'");
- return vd;
- }
- });
- //the sql should normally return 10 rows
- String sql = "SELECT * FROM vqt.SmallB UNION SELECT * FROM vqt.SmallB"; //$NON-NLS-1$
- String userName = "1"; //$NON-NLS-1$
-
- ResultsMessage rm = helpExecute(sql, userName);
- assertEquals(1, rm.getResults().length); //$NON-NLS-1$
- assertEquals("hello world", rm.getResults()[0].get(0)); //$NON-NLS-1$
-
- rm = helpExecute(sql, userName);
- assertEquals(1, rm.getResults().length); //$NON-NLS-1$
- assertEquals("something else", rm.getResults()[0].get(0)); //$NON-NLS-1$
- }
-
@Test public void testPreparedPlanInvalidation() throws Exception {
String sql = "insert into #temp select * FROM vqt.SmallB"; //$NON-NLS-1$
String userName = "1"; //$NON-NLS-1$
Modified: trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/test/java/org/teiid/query/processor/FakeDataManager.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -34,7 +34,6 @@
import org.teiid.common.buffer.BlockedException;
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
-import org.teiid.events.EventDistributor;
import org.teiid.logging.LogManager;
import org.teiid.query.eval.Evaluator;
import org.teiid.query.metadata.QueryMetadataInterface;
@@ -389,8 +388,4 @@
this.registerTuples(group.getMetadataID(), elementSymbols, tuples);
}
- @Override
- public void setEventDistributor(EventDistributor ed) {
- }
-
}
\ No newline at end of file
Modified: trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/test/java/org/teiid/query/processor/HardcodedDataManager.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -32,7 +32,6 @@
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
import org.teiid.dqp.internal.datamgr.LanguageBridgeFactory;
-import org.teiid.events.EventDistributor;
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.sql.lang.Command;
import org.teiid.query.util.CommandContext;
@@ -168,9 +167,5 @@
public void clearCodeTables() {
}
-
- @Override
- public void setEventDistributor(EventDistributor ed) {
- }
}
Modified: trunk/engine/src/test/java/org/teiid/query/processor/relational/TestBatchedUpdateNode.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/relational/TestBatchedUpdateNode.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/test/java/org/teiid/query/processor/relational/TestBatchedUpdateNode.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -36,7 +36,6 @@
import org.teiid.common.buffer.TupleBatch;
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
-import org.teiid.events.EventDistributor;
import org.teiid.query.metadata.QueryMetadataInterface;
import org.teiid.query.optimizer.TestBatchedUpdatePlanner;
import org.teiid.query.processor.ProcessorDataManager;
@@ -220,10 +219,6 @@
actualCommands.add(command);
return new FakeTupleSource(numExecutedCommands);
}
- @Override
- public void setEventDistributor(EventDistributor ed) {
- }
-
}
private static final class FakeTupleSource implements TupleSource {
private int currentTuple = 0;
Modified: trunk/engine/src/test/java/org/teiid/query/processor/relational/TestProjectIntoNode.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/relational/TestProjectIntoNode.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/engine/src/test/java/org/teiid/query/processor/relational/TestProjectIntoNode.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -36,7 +36,6 @@
import org.teiid.common.buffer.TupleSource;
import org.teiid.core.TeiidComponentException;
import org.teiid.core.TeiidProcessingException;
-import org.teiid.events.EventDistributor;
import org.teiid.query.eval.Evaluator;
import org.teiid.query.processor.FakeTupleSource;
import org.teiid.query.processor.ProcessorDataManager;
@@ -185,9 +184,6 @@
Object val = row.get(0);
assertEquals(new Integer(value), val);
}
- @Override
- public void setEventDistributor(EventDistributor ed) {
- }
}
private static final class FakeDataTupleSource implements TupleSource {
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -104,6 +104,7 @@
import org.teiid.logging.MessageLevel;
import org.teiid.metadata.Column;
import org.teiid.metadata.ColumnStats;
+import org.teiid.metadata.MetadataRepository;
import org.teiid.metadata.Schema;
import org.teiid.metadata.Table;
import org.teiid.metadata.TableStats;
@@ -716,10 +717,7 @@
}
for (Column c : t.getColumns()) {
if (c.getName().equalsIgnoreCase(columnName)) {
- c.setDistinctValues(stats.getNumDistinctValues());
- c.setNullValues(stats.getNumNullValues());
- c.setMaximumValue(stats.getMax());
- c.setMinimumValue(stats.getMin());
+ c.setColumnStats(stats);
t.setLastModified(System.currentTimeMillis());
break;
}
@@ -733,7 +731,7 @@
if (t == null) {
return;
}
- t.setCardinality(stats.getCardinality());
+ t.setTableStats(stats);
t.setLastModified(System.currentTimeMillis());
}
@@ -757,10 +755,16 @@
return s.getTables().get(tableName.toUpperCase());
}
+ @Override
public EventDistributor getEventDistributor() {
if (this.eventDistributor != null) {
return eventDistributor;
}
return this;
}
+
+ @Override
+ public MetadataRepository getMetadataRepository() {
+ return this.vdbRepository.getMetadataRepository();
+ }
}
Modified: trunk/metadata/src/main/resources/System.vdb
===================================================================
(Binary files differ)
Added: trunk/metadata/system-vdb-update.txt
===================================================================
--- trunk/metadata/system-vdb-update.txt (rev 0)
+++ trunk/metadata/system-vdb-update.txt 2011-04-28 02:55:13 UTC (rev 3126)
@@ -0,0 +1,3 @@
+When updating the System.vdb using a VDB built by a 7.x Designer, the runtime-inf/DATATYPES.INDEX must be copied from the old
+version. Designer VDBs no longer contain a separate copy of that INDEX. We could consider splitting the datatype information
+into its own vdb to better handle this.
\ No newline at end of file
Property changes on: trunk/metadata/system-vdb-update.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -119,8 +119,12 @@
TransformationMetadata metadata = new TransformationMetadata(vdb, compositeStore, visibilityMap, systemFunctions, udfs);
return metadata;
- }
+ }
+ public MetadataStore[] getAdditionalStores() {
+ return additionalStores;
+ }
+
public VDBMetaData getVDB() {
if (this.children == null || this.children.isEmpty()) {
return vdb;
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -23,9 +23,11 @@
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
@@ -42,8 +44,16 @@
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
+import org.teiid.metadata.Column;
+import org.teiid.metadata.ColumnStats;
import org.teiid.metadata.Datatype;
+import org.teiid.metadata.MetadataRepository;
import org.teiid.metadata.MetadataStore;
+import org.teiid.metadata.Procedure;
+import org.teiid.metadata.Schema;
+import org.teiid.metadata.Table;
+import org.teiid.metadata.TableStats;
+import org.teiid.metadata.MetadataRepository.TriggerOperation;
import org.teiid.query.function.SystemFunctionManager;
import org.teiid.query.metadata.TransformationMetadata.Resource;
import org.teiid.runtime.RuntimePlugin;
@@ -63,7 +73,12 @@
private boolean odbcEnabled = false;
private List<VDBLifeCycleListener> listeners = new CopyOnWriteArrayList<VDBLifeCycleListener>();
private SystemFunctionManager systemFunctionManager;
+ private MetadataRepository metadataRepository;
+ public MetadataRepository getMetadataRepository() {
+ return metadataRepository;
+ }
+
public void addVDB(VDBMetaData vdb, MetadataStoreGroup stores, LinkedHashMap<String, Resource> visibilityMap, UDFMetaData udf, ConnectorManagerRepository cmr) throws DeploymentException {
if (getVDB(vdb.getName(), vdb.getVersion()) != null) {
throw new DeploymentException(RuntimePlugin.Util.getString("duplicate_vdb", vdb.getName(), vdb.getVersion())); //$NON-NLS-1$
@@ -77,16 +92,74 @@
if (this.odbcEnabled && odbcStore == null) {
this.odbcStore = getODBCMetadataStore();
}
-
+ CompositeVDB cvdb = null;
if (this.odbcStore == null) {
- this.vdbRepo.put(vdbId(vdb), new CompositeVDB(vdb, stores, visibilityMap, udf, this.systemFunctionManager.getSystemFunctions(), cmr, this.systemStore));
+ cvdb = new CompositeVDB(vdb, stores, visibilityMap, udf, this.systemFunctionManager.getSystemFunctions(), cmr, this.systemStore);
}
else {
- this.vdbRepo.put(vdbId(vdb), new CompositeVDB(vdb, stores, visibilityMap, udf, this.systemFunctionManager.getSystemFunctions(), cmr, this.systemStore, odbcStore));
+ cvdb = new CompositeVDB(vdb, stores, visibilityMap, udf, this.systemFunctionManager.getSystemFunctions(), cmr, this.systemStore, odbcStore);
}
+ updateFromMetadataRepository(stores, cvdb);
+ this.vdbRepo.put(vdbId(vdb), cvdb);
notifyAdd(vdb.getName(), vdb.getVersion());
}
+ private void updateFromMetadataRepository(MetadataStoreGroup stores,
+ CompositeVDB cvdb) {
+ if (metadataRepository == null) {
+ return;
+ }
+ String vdbName = cvdb.getVDB().getName();
+ int vdbVersion = cvdb.getVDB().getVersion();
+ LinkedList<MetadataStore> allStores = new LinkedList<MetadataStore>(stores.getStores());
+ allStores.addAll(Arrays.asList(cvdb.getAdditionalStores()));
+ for (MetadataStore metadataStore : allStores) {
+ for (Schema schema : metadataStore.getSchemas().values()) {
+ for (Table t : schema.getTables().values()) {
+ if (t.isPhysical()) {
+ TableStats stats = metadataRepository.getTableStats(vdbName, vdbVersion, t);
+ if (stats != null) {
+ t.setTableStats(stats);
+ }
+ for (Column c : t.getColumns()) {
+ ColumnStats cStats = metadataRepository.getColumnStats(vdbName, vdbVersion, c);
+ if (cStats != null) {
+ c.setColumnStats(cStats);
+ }
+ }
+ } else {
+ String def = metadataRepository.getViewDefinition(vdbName, vdbVersion, t);
+ if (def != null) {
+ t.setSelectTransformation(def);
+ }
+ if (t.supportsUpdate()) {
+ def = metadataRepository.getInsteadOfTriggerDefinition(vdbName, vdbVersion, t, TriggerOperation.INSERT);
+ if (def != null) {
+ t.setInsertPlan(def);
+ }
+ def = metadataRepository.getInsteadOfTriggerDefinition(vdbName, vdbVersion, t, TriggerOperation.UPDATE);
+ if (def != null) {
+ t.setUpdatePlan(def);
+ }
+ def = metadataRepository.getInsteadOfTriggerDefinition(vdbName, vdbVersion, t, TriggerOperation.DELETE);
+ if (def != null) {
+ t.setDeletePlan(def);
+ }
+ }
+ }
+ }
+ for (Procedure p : schema.getProcedures().values()) {
+ if (p.isVirtual() && !p.isFunction()) {
+ String proc = metadataRepository.getProcedureDefinition(vdbName, vdbVersion, p);
+ if (proc != null) {
+ p.setQueryPlan(proc);
+ }
+ }
+ }
+ }
+ }
+ }
+
public VDBMetaData getVDB(String name, int version) {
CompositeVDB v = this.vdbRepo.get(new VDBKey(name, version));
if (v != null) {
@@ -143,6 +216,10 @@
public void setSystemStore(MetadataStore store) {
this.systemStore = store;
}
+
+ public void setMetadataRepository(MetadataRepository metadataRepository) {
+ this.metadataRepository = metadataRepository;
+ }
private MetadataStore getODBCMetadataStore() {
try {
Modified: trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -44,6 +44,7 @@
import org.teiid.dqp.internal.process.DQPConfiguration;
import org.teiid.dqp.internal.process.DQPCore;
import org.teiid.dqp.service.FakeBufferService;
+import org.teiid.metadata.MetadataRepository;
import org.teiid.metadata.MetadataStore;
import org.teiid.metadata.Schema;
import org.teiid.metadata.index.IndexMetadataFactory;
@@ -101,6 +102,11 @@
registerClientService(DQP.class, dqp, null);
}
+ public void setMetadataRepository(MetadataRepository metadataRepository) {
+ this.repo.setMetadataRepository(metadataRepository);
+ this.dqp.setMetadataRepository(metadataRepository);
+ }
+
public void setUseCallingThread(boolean useCallingThread) {
this.useCallingThread = useCallingThread;
}
Added: trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestMetadataUpdates.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestMetadataUpdates.java (rev 0)
+++ trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestMetadataUpdates.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -0,0 +1,108 @@
+/*
+ * 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.systemmodel;
+
+import static org.junit.Assert.*;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.teiid.core.util.UnitTestUtil;
+import org.teiid.jdbc.FakeServer;
+import org.teiid.metadata.MetadataRepository;
+import org.teiid.metadata.Procedure;
+import org.teiid.metadata.Table;
+import org.teiid.metadata.MetadataRepository.TriggerOperation;
+
+ at SuppressWarnings("nls")
+public class TestMetadataUpdates {
+
+ static Connection connection;
+
+ static final String VDB = "metadata";
+
+ @BeforeClass public static void setUp() throws Exception {
+ FakeServer server = new FakeServer();
+ MetadataRepository repo = Mockito.mock(MetadataRepository.class);
+ server.setMetadataRepository(repo);
+ Mockito.stub(repo.getViewDefinition(Mockito.anyString(), Mockito.anyInt(), (Table)Mockito.anyObject())).toAnswer(new Answer<String>() {
+ @Override
+ public String answer(InvocationOnMock invocation) throws Throwable {
+ Table t = (Table)invocation.getArguments()[2];
+ if (t.getName().equals("vw")) {
+ return "select '2011'";
+ }
+ return null;
+ }
+ });
+ Mockito.stub(repo.getProcedureDefinition(Mockito.anyString(), Mockito.anyInt(), (Procedure)Mockito.anyObject())).toAnswer(new Answer<String>() {
+ @Override
+ public String answer(InvocationOnMock invocation) throws Throwable {
+ Procedure t = (Procedure)invocation.getArguments()[2];
+ if (t.getName().equals("proc")) {
+ return "create virtual procedure begin select '2011'; end";
+ }
+ return null;
+ }
+ });
+ Mockito.stub(repo.getInsteadOfTriggerDefinition(Mockito.anyString(), Mockito.anyInt(), (Table)Mockito.anyObject(), (TriggerOperation) Mockito.anyObject())).toAnswer(new Answer<String>() {
+ @Override
+ public String answer(InvocationOnMock invocation) throws Throwable {
+ return "for each row select 1/0; begin end";
+ }
+ });
+ server.deployVDB(VDB, UnitTestUtil.getTestDataPath() + "/metadata.vdb");
+ connection = server.createConnection("jdbc:teiid:" + VDB); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @AfterClass public static void tearDown() throws SQLException {
+ connection.close();
+ }
+
+ @Test public void testViewMetadataRepositoryMerge() throws Exception {
+ Statement s = connection.createStatement();
+ ResultSet rs = s.executeQuery("select * from vw");
+ rs.next();
+ assertEquals(2011, rs.getInt(1));
+ }
+
+ @Test(expected=SQLException.class) public void testViewUpdateMetadataRepositoryMerge() throws Exception {
+ Statement s = connection.createStatement();
+ s.execute("delete from vw");
+ }
+
+ @Test public void testProcMetadataRepositoryMerge() throws Exception {
+ Statement s = connection.createStatement();
+ ResultSet rs = s.executeQuery("call proc(1)");
+ rs.next();
+ assertEquals(2011, rs.getInt(1));
+ }
+
+}
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestMetadataUpdates.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestStats.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestStats.java (rev 0)
+++ trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestStats.java 2011-04-28 02:55:13 UTC (rev 3126)
@@ -0,0 +1,86 @@
+/*
+ * 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.systemmodel;
+
+import static org.junit.Assert.*;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.teiid.core.util.UnitTestUtil;
+import org.teiid.jdbc.FakeServer;
+
+ at SuppressWarnings("nls")
+public class TestStats {
+
+ static Connection connection;
+
+ static final String VDB = "PartsSupplier";
+
+ @BeforeClass public static void setUp() throws Exception {
+ FakeServer server = new FakeServer();
+ server.deployVDB(VDB, UnitTestUtil.getTestDataPath() + "/PartsSupplier.vdb");
+ connection = server.createConnection("jdbc:teiid:" + VDB); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @AfterClass public static void tearDown() throws SQLException {
+ connection.close();
+ }
+
+ @Test public void testSetTableStats() throws Exception {
+ Statement s = connection.createStatement();
+ ResultSet rs = s.executeQuery("select cardinality from tables where name = 'PARTSSUPPLIER.PARTS'");
+ rs.next();
+ assertEquals(16, rs.getInt(1));
+ s.execute("call setTableStats(tableName=>'partssupplier.partssupplier.parts', cardinality=>32)");
+ rs = s.executeQuery("select cardinality from tables where name = 'PARTSSUPPLIER.PARTS'");
+ rs.next();
+ assertEquals(32, rs.getInt(1));
+ }
+
+ @Test public void testSetColumnStats() throws Exception {
+ Statement s = connection.createStatement();
+ ResultSet rs = s.executeQuery("select MinRange, MaxRange, DistinctCount, NullCount from columns where name = 'PART_ID'");
+ rs.next();
+ assertEquals(null, rs.getString(1));
+ assertEquals(null, rs.getString(2));
+ assertEquals(-1, rs.getInt(3));
+ assertEquals(-1, rs.getInt(4));
+ s.execute("call setColumnStats(tableName=>'partssupplier.partssupplier.parts', columnName=>'PART_ID', max=>32, nullcount=>0)");
+ rs = s.executeQuery("select MinRange, MaxRange, DistinctCount, NullCount from columns where name = 'PART_ID'");
+ rs.next();
+ assertEquals(null, rs.getString(1));
+ assertEquals("32", rs.getString(2));
+ assertEquals(-1, rs.getInt(3));
+ assertEquals(0, rs.getInt(4));
+ }
+
+ @Test(expected=SQLException.class) public void testSetColumnStatsInvalidColumn() throws Exception {
+ Statement s = connection.createStatement();
+ s.execute("call setColumnStats(tableName=>'partssupplier.partssupplier.parts', columnName=>'foo', max=>32, nullcount=>0)");
+ }
+}
Property changes on: trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestStats.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -177,16 +177,18 @@
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 Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
+QT_Ora9DS SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
QT_Ora9DS SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
QT_Ora9DS SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
QT_Ora9DS SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
@@ -1081,7 +1083,7 @@
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 : 1081
+Row Count : 1083
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -49,7 +49,15 @@
QT_Ora9DS SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
QT_Ora9DS SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
QT_Ora9DS SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
-Row Count : 49
+QT_Ora9DS SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
+QT_Ora9DS SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
+QT_Ora9DS SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
+QT_Ora9DS SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
+Row Count : 57
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM string SYS ProcedureParams 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedures.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -7,7 +7,9 @@
QT_Ora9DS SYS getXMLSchemas <null> <null> <null> <null> 2 getXMLSchemas
QT_Ora9DS SYSADMIN refreshMatView <null> <null> <null> <null> 1 refreshMatView
QT_Ora9DS SYSADMIN refreshMatViewRow <null> <null> <null> <null> 1 refreshMatViewRow
-Row Count : 7
+QT_Ora9DS SYSADMIN setColumnStats <null> <null> <null> <null> 1 setColumnStats
+QT_Ora9DS SYSADMIN setTableStats <null> <null> <null> <null> 1 setTableStats
+Row Count : 9
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM string SYS Procedures 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProceduresWithEscape.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -7,7 +7,9 @@
QT_Ora9DS SYS getXMLSchemas <null> <null> <null> <null> 2 getXMLSchemas
QT_Ora9DS SYSADMIN refreshMatView <null> <null> <null> <null> 1 refreshMatView
QT_Ora9DS SYSADMIN refreshMatViewRow <null> <null> <null> <null> 1 refreshMatViewRow
-Row Count : 7
+QT_Ora9DS SYSADMIN setColumnStats <null> <null> <null> <null> 1 setColumnStats
+QT_Ora9DS SYSADMIN setTableStats <null> <null> <null> <null> 1 setTableStats
+Row Count : 9
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 QT_Ora9DS java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
SchemaName 12 QT_Ora9DS java.lang.String PROCEDURE_SCHEM string SYS Procedures 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -47,209 +47,211 @@
45 8 NullType 1043 -1 17 20 true false false
46 8 MinRange 1043 -1 18 50 false false false
47 8 MaxRange 1043 -1 19 50 false false false
-48 8 SearchType 1043 -1 20 20 true false false
-49 8 Format 1043 -1 21 255 false false false
-50 8 DefaultValue 1043 -1 22 255 false false false
-51 8 JavaClass 1043 -1 23 500 true false false
-52 8 Precision 23 4 24 10 true false false
-53 8 CharOctetLength 23 4 25 10 false false false
-54 8 Radix 23 4 26 10 true false false
-55 8 UID 1043 -1 27 50 true false false
-56 8 Description 1043 -1 28 255 false false false
-57 8 OID 23 4 29 10 true false false
-58 9 Name 1043 -1 1 100 true false false
-59 9 IsStandard 16 1 2 1 false false false
-60 9 IsPhysical 16 1 3 1 false false false
-61 9 TypeName 1043 -1 4 100 true false false
-62 9 JavaClass 1043 -1 5 500 true false false
-63 9 Scale 23 4 6 10 false false false
-64 9 TypeLength 23 4 7 10 true false false
-65 9 NullType 1043 -1 8 20 true false false
-66 9 IsSigned 16 1 9 1 true false false
-67 9 IsAutoIncremented 16 1 10 1 true false false
-68 9 IsCaseSensitive 16 1 11 1 true false false
-69 9 Precision 23 4 12 10 true false false
-70 9 Radix 23 4 13 10 false false false
-71 9 SearchType 1043 -1 14 20 true false false
-72 9 UID 1043 -1 15 50 true false false
-73 9 RuntimeType 1043 -1 16 64 false false false
-74 9 BaseType 1043 -1 17 64 false false false
-75 9 Description 1043 -1 18 255 false false false
-76 9 OID 23 4 19 10 true false false
-77 10 VDBName 1043 -1 1 255 true false false
-78 10 SchemaName 1043 -1 2 255 false false false
-79 10 TableName 1043 -1 3 2048 true false false
-80 10 Name 1043 -1 4 255 true false false
-81 10 KeyName 1043 -1 5 255 false false false
-82 10 KeyType 1043 -1 6 20 true false false
-83 10 RefKeyUID 1043 -1 7 50 false false false
-84 10 UID 1043 -1 8 50 true false false
-85 10 Position 23 4 9 10 false false false
-86 10 OID 23 4 10 10 true false false
-87 11 VDBName 1043 -1 1 255 true false false
-88 11 SchemaName 1043 -1 2 255 false false false
-89 11 TableName 1043 -1 3 2048 true false false
-90 11 Name 1043 -1 4 255 true false false
-91 11 Description 1043 -1 5 255 false false false
-92 11 NameInSource 1043 -1 6 255 false false false
-93 11 Type 1043 -1 7 20 true false false
-94 11 IsIndexed 16 1 8 1 true false false
-95 11 RefKeyUID 1043 -1 9 50 false false false
-96 11 UID 1043 -1 10 50 true false false
-97 11 OID 23 4 11 10 true false false
-98 12 VDBName 1043 -1 1 255 true false false
-99 12 SchemaName 1043 -1 2 255 false false false
-100 12 ProcedureName 1043 -1 3 255 true false false
-101 12 Name 1043 -1 4 255 true false false
-102 12 DataType 1043 -1 5 25 true false false
-103 12 Position 23 4 6 10 true false false
-104 12 Type 1043 -1 7 100 true false false
-105 12 Optional 16 1 8 1 true false false
-106 12 Precision 23 4 9 10 true false false
-107 12 TypeLength 23 4 10 10 true false false
-108 12 Scale 23 4 11 10 true false false
-109 12 Radix 23 4 12 10 true false false
-110 12 NullType 1043 -1 13 10 true false false
-111 12 UID 1043 -1 14 50 false false false
-112 12 Description 1043 -1 15 255 false false false
-113 12 OID 23 4 16 10 true false false
-114 13 VDBName 1043 -1 1 255 true false false
-115 13 SchemaName 1043 -1 2 255 false false false
-116 13 Name 1043 -1 3 255 true false false
-117 13 NameInSource 1043 -1 4 255 false false false
-118 13 ReturnsResults 16 1 5 1 true false false
-119 13 UID 1043 -1 6 50 true false false
-120 13 Description 1043 -1 7 255 false false false
-121 13 OID 23 4 8 10 true false false
-122 14 Name 1043 -1 1 255 true false false
-123 14 Value 1043 -1 2 255 true false false
-124 14 UID 1043 -1 3 50 true false false
-125 14 OID 23 4 4 10 true false false
-126 15 PKTABLE_CAT 1043 -1 1 255 false false false
-127 15 PKTABLE_SCHEM 1043 -1 2 255 false false false
-128 15 PKTABLE_NAME 1043 -1 3 255 false false false
-129 15 PKCOLUMN_NAME 1043 -1 4 255 false false false
-130 15 FKTABLE_CAT 1043 -1 5 255 false false false
-131 15 FKTABLE_SCHEM 1043 -1 6 255 false false false
-132 15 FKTABLE_NAME 1043 -1 7 255 false false false
-133 15 FKCOLUMN_NAME 1043 -1 8 255 false false false
-134 15 KEY_SEQ 21 2 9 5 false false false
-135 15 UPDATE_RULE 23 4 10 10 false false false
-136 15 DELETE_RULE 23 4 11 10 false false false
-137 15 FK_NAME 1043 -1 12 255 false false false
-138 15 PK_NAME 1043 -1 13 255 false false false
-139 15 DEFERRABILITY 23 4 14 10 false false false
-140 16 VDBName 1043 -1 1 255 false false false
-141 16 Name 1043 -1 2 255 false false false
-142 16 IsPhysical 16 1 3 1 true false false
-143 16 UID 1043 -1 4 50 true false false
-144 16 Description 1043 -1 5 255 false false false
-145 16 PrimaryMetamodelURI 1043 -1 6 255 true false false
-146 16 OID 23 4 7 10 true false false
-147 17 VDBName 1043 -1 1 255 false false false
-148 17 SchemaName 1043 -1 2 255 false false false
-149 17 Name 1043 -1 3 255 true false false
-150 17 Type 1043 -1 4 20 true false false
-151 17 NameInSource 1043 -1 5 255 false false false
-152 17 IsPhysical 16 1 6 1 true false false
-153 17 SupportsUpdates 16 1 7 1 true false false
-154 17 UID 1043 -1 8 50 true false false
-155 17 Cardinality 23 4 9 10 true false false
-156 17 Description 1043 -1 10 255 false false false
-157 17 IsSystem 16 1 11 1 false false false
-158 17 IsMaterialized 16 1 12 0 true false false
-159 17 OID 23 4 13 10 true false false
-160 18 Name 1043 -1 1 255 true false false
-161 18 Version 1043 -1 2 50 true false false
-162 19 oid 23 4 1 0 false false false
-163 19 nspname 1043 -1 2 0 false false false
-164 20 oid 23 4 1 0 false false false
-165 20 relname 1043 -1 2 0 false false false
-166 20 relnamespace 23 4 3 0 false false false
-167 20 relkind 1042 1 4 0 false false false
-168 20 relam 23 4 5 0 false false false
-169 20 reltuples 700 4 6 0 false false false
-170 20 relpages 23 4 7 0 false false false
-171 20 relhasrules 16 1 8 0 false false false
-172 20 relhasoids 1043 -1 9 0 false false false
-173 21 oid 23 4 1 0 false false false
-174 21 attrelid 23 4 2 0 false false false
-175 21 attname 1043 -1 3 0 false false false
-176 21 atttypid 23 4 4 0 false false false
-177 21 attlen 21 2 5 0 false false false
-178 21 attnum 21 2 6 0 false false false
-179 21 atttypmod 23 4 7 0 false false false
-180 21 attnotnull 16 1 8 0 false false false
-181 21 attisdropped 16 1 9 0 false false false
-182 21 atthasdef 16 1 10 0 false false false
-183 22 oid 23 4 1 0 false false false
-184 22 typname 1043 -1 2 0 false false false
-185 22 typnamespace 23 4 3 0 false false false
-186 22 typlen 21 2 4 0 false false false
-187 22 typtype 1042 1 5 0 false false false
-188 22 typbasetype 23 4 6 0 false false false
-189 22 typtypmod 23 4 7 0 false false false
-190 22 typrelid 23 4 8 0 false false false
-191 22 typelem 23 4 9 0 false false false
-192 23 oid 23 4 1 0 false false false
-193 23 indexrelid 23 4 2 0 false false false
-194 23 indrelid 23 4 3 0 false false false
-195 23 indisclustered 16 1 4 0 false false false
-196 23 indisunique 16 1 5 0 false false false
-197 23 indisprimary 16 1 6 0 false false false
-198 23 indexprs 1043 -1 7 0 false false false
-199 23 indkey 1043 -1 8 0 false false false
-200 24 oid 23 4 1 0 false false false
-201 24 amname 1043 -1 2 0 false false false
-202 25 oid 23 4 1 0 false false false
-203 25 proname 1043 -1 2 0 false false false
-204 25 proretset 16 1 3 0 false false false
-205 25 prorettype 23 4 4 0 false false false
-206 25 pronargs 21 2 5 0 false false false
-207 25 proargtypes <null> <null> 6 0 false false false
-208 25 proargnames <null> <null> 7 0 false false false
-209 25 proargmodes <null> <null> 8 0 false false false
-210 25 proallargtypes <null> <null> 9 0 false false false
-211 25 pronamespace 23 4 10 0 false false false
-212 26 oid 23 4 1 0 false false false
-213 26 tgconstrrelid 23 4 2 0 false false false
-214 26 tgfoid 23 4 3 0 false false false
-215 26 tgargs 23 4 4 0 false false false
-216 26 tgnargs 23 4 5 0 false false false
-217 26 tgdeferrable 16 1 6 0 false false false
-218 26 tginitdeferred 16 1 7 0 false false false
-219 26 tgconstrname 1043 -1 8 0 false false false
-220 26 tgrelid 23 4 9 0 false false false
-221 27 adrelid 23 4 1 0 false false false
-222 27 adnum 23 4 2 0 false false false
-223 27 adbin 1043 -1 3 0 false false false
-224 27 adsrc 1043 -1 4 0 false false false
-225 28 oid 23 4 1 0 false false false
-226 28 datname 1043 -1 2 0 false false false
-227 28 encoding 23 4 3 0 false false false
-228 28 datlastsysoid 23 4 4 0 false false false
-229 28 datallowconn 1042 1 5 0 false false false
-230 28 datconfig <null> <null> 6 0 false false false
-231 28 datacl <null> <null> 7 0 false false false
-232 28 datdba 23 4 8 0 false false false
-233 28 dattablespace 23 4 9 0 false false false
-234 29 oid 23 4 1 0 false false false
-235 29 usename 1043 -1 2 0 false false false
-236 29 usecreatedb 16 1 3 0 false false false
-237 29 usesuper 16 1 4 0 false false false
-238 30 attrelid 23 4 1 0 false false false
-239 30 attnum 21 2 2 0 false false false
-240 30 attname 1043 -1 3 0 false false false
-241 30 relname 1043 -1 4 0 false false false
-242 30 nspname 1043 -1 5 0 false false false
-243 30 autoinc 16 1 6 0 false false false
-244 30 typoid 23 4 7 0 false false false
-245 31 oid 23 4 1 0 false false false
-246 31 typname 1043 -1 2 0 false false false
-247 31 name 1043 -1 3 0 false false false
-248 31 uid 1043 -1 4 0 false false false
-249 31 typlen 21 2 5 0 false false false
-Row Count : 249
+48 8 DistinctCount 23 4 20 10 false false false
+49 8 NullCount 23 4 21 10 false false false
+50 8 SearchType 1043 -1 22 20 true false false
+51 8 Format 1043 -1 23 255 false false false
+52 8 DefaultValue 1043 -1 24 255 false false false
+53 8 JavaClass 1043 -1 25 500 true false false
+54 8 Precision 23 4 26 10 true false false
+55 8 CharOctetLength 23 4 27 10 false false false
+56 8 Radix 23 4 28 10 true false false
+57 8 UID 1043 -1 29 50 true false false
+58 8 Description 1043 -1 30 255 false false false
+59 8 OID 23 4 31 10 true false false
+60 9 Name 1043 -1 1 100 true false false
+61 9 IsStandard 16 1 2 1 false false false
+62 9 IsPhysical 16 1 3 1 false false false
+63 9 TypeName 1043 -1 4 100 true false false
+64 9 JavaClass 1043 -1 5 500 true false false
+65 9 Scale 23 4 6 10 false false false
+66 9 TypeLength 23 4 7 10 true false false
+67 9 NullType 1043 -1 8 20 true false false
+68 9 IsSigned 16 1 9 1 true false false
+69 9 IsAutoIncremented 16 1 10 1 true false false
+70 9 IsCaseSensitive 16 1 11 1 true false false
+71 9 Precision 23 4 12 10 true false false
+72 9 Radix 23 4 13 10 false false false
+73 9 SearchType 1043 -1 14 20 true false false
+74 9 UID 1043 -1 15 50 true false false
+75 9 RuntimeType 1043 -1 16 64 false false false
+76 9 BaseType 1043 -1 17 64 false false false
+77 9 Description 1043 -1 18 255 false false false
+78 9 OID 23 4 19 10 true false false
+79 10 VDBName 1043 -1 1 255 true false false
+80 10 SchemaName 1043 -1 2 255 false false false
+81 10 TableName 1043 -1 3 2048 true false false
+82 10 Name 1043 -1 4 255 true false false
+83 10 KeyName 1043 -1 5 255 false false false
+84 10 KeyType 1043 -1 6 20 true false false
+85 10 RefKeyUID 1043 -1 7 50 false false false
+86 10 UID 1043 -1 8 50 true false false
+87 10 Position 23 4 9 10 false false false
+88 10 OID 23 4 10 10 true false false
+89 11 VDBName 1043 -1 1 255 true false false
+90 11 SchemaName 1043 -1 2 255 false false false
+91 11 TableName 1043 -1 3 2048 true false false
+92 11 Name 1043 -1 4 255 true false false
+93 11 Description 1043 -1 5 255 false false false
+94 11 NameInSource 1043 -1 6 255 false false false
+95 11 Type 1043 -1 7 20 true false false
+96 11 IsIndexed 16 1 8 1 true false false
+97 11 RefKeyUID 1043 -1 9 50 false false false
+98 11 UID 1043 -1 10 50 true false false
+99 11 OID 23 4 11 10 true false false
+100 12 VDBName 1043 -1 1 255 true false false
+101 12 SchemaName 1043 -1 2 255 false false false
+102 12 ProcedureName 1043 -1 3 255 true false false
+103 12 Name 1043 -1 4 255 true false false
+104 12 DataType 1043 -1 5 25 true false false
+105 12 Position 23 4 6 10 true false false
+106 12 Type 1043 -1 7 100 true false false
+107 12 Optional 16 1 8 1 true false false
+108 12 Precision 23 4 9 10 true false false
+109 12 TypeLength 23 4 10 10 true false false
+110 12 Scale 23 4 11 10 true false false
+111 12 Radix 23 4 12 10 true false false
+112 12 NullType 1043 -1 13 10 true false false
+113 12 UID 1043 -1 14 50 false false false
+114 12 Description 1043 -1 15 255 false false false
+115 12 OID 23 4 16 10 true false false
+116 13 VDBName 1043 -1 1 255 true false false
+117 13 SchemaName 1043 -1 2 255 false false false
+118 13 Name 1043 -1 3 255 true false false
+119 13 NameInSource 1043 -1 4 255 false false false
+120 13 ReturnsResults 16 1 5 1 true false false
+121 13 UID 1043 -1 6 50 true false false
+122 13 Description 1043 -1 7 255 false false false
+123 13 OID 23 4 8 10 true false false
+124 14 Name 1043 -1 1 255 true false false
+125 14 Value 1043 -1 2 255 true false false
+126 14 UID 1043 -1 3 50 true false false
+127 14 OID 23 4 4 10 true false false
+128 15 PKTABLE_CAT 1043 -1 1 255 false false false
+129 15 PKTABLE_SCHEM 1043 -1 2 255 false false false
+130 15 PKTABLE_NAME 1043 -1 3 255 false false false
+131 15 PKCOLUMN_NAME 1043 -1 4 255 false false false
+132 15 FKTABLE_CAT 1043 -1 5 255 false false false
+133 15 FKTABLE_SCHEM 1043 -1 6 255 false false false
+134 15 FKTABLE_NAME 1043 -1 7 255 false false false
+135 15 FKCOLUMN_NAME 1043 -1 8 255 false false false
+136 15 KEY_SEQ 21 2 9 5 false false false
+137 15 UPDATE_RULE 23 4 10 10 false false false
+138 15 DELETE_RULE 23 4 11 10 false false false
+139 15 FK_NAME 1043 -1 12 255 false false false
+140 15 PK_NAME 1043 -1 13 255 false false false
+141 15 DEFERRABILITY 23 4 14 10 false false false
+142 16 VDBName 1043 -1 1 255 false false false
+143 16 Name 1043 -1 2 255 false false false
+144 16 IsPhysical 16 1 3 1 true false false
+145 16 UID 1043 -1 4 50 true false false
+146 16 Description 1043 -1 5 255 false false false
+147 16 PrimaryMetamodelURI 1043 -1 6 255 true false false
+148 16 OID 23 4 7 10 true false false
+149 17 VDBName 1043 -1 1 255 false false false
+150 17 SchemaName 1043 -1 2 255 false false false
+151 17 Name 1043 -1 3 255 true false false
+152 17 Type 1043 -1 4 20 true false false
+153 17 NameInSource 1043 -1 5 255 false false false
+154 17 IsPhysical 16 1 6 1 true false false
+155 17 SupportsUpdates 16 1 7 1 true false false
+156 17 UID 1043 -1 8 50 true false false
+157 17 Cardinality 23 4 9 10 true false false
+158 17 Description 1043 -1 10 255 false false false
+159 17 IsSystem 16 1 11 1 false false false
+160 17 IsMaterialized 16 1 12 0 true false false
+161 17 OID 23 4 13 10 true false false
+162 18 Name 1043 -1 1 255 true false false
+163 18 Version 1043 -1 2 50 true false false
+164 19 oid 23 4 1 0 false false false
+165 19 nspname 1043 -1 2 0 false false false
+166 20 oid 23 4 1 0 false false false
+167 20 relname 1043 -1 2 0 false false false
+168 20 relnamespace 23 4 3 0 false false false
+169 20 relkind 1042 1 4 0 false false false
+170 20 relam 23 4 5 0 false false false
+171 20 reltuples 700 4 6 0 false false false
+172 20 relpages 23 4 7 0 false false false
+173 20 relhasrules 16 1 8 0 false false false
+174 20 relhasoids 1043 -1 9 0 false false false
+175 21 oid 23 4 1 0 false false false
+176 21 attrelid 23 4 2 0 false false false
+177 21 attname 1043 -1 3 0 false false false
+178 21 atttypid 23 4 4 0 false false false
+179 21 attlen 21 2 5 0 false false false
+180 21 attnum 21 2 6 0 false false false
+181 21 atttypmod 23 4 7 0 false false false
+182 21 attnotnull 16 1 8 0 false false false
+183 21 attisdropped 16 1 9 0 false false false
+184 21 atthasdef 16 1 10 0 false false false
+185 22 oid 23 4 1 0 false false false
+186 22 typname 1043 -1 2 0 false false false
+187 22 typnamespace 23 4 3 0 false false false
+188 22 typlen 21 2 4 0 false false false
+189 22 typtype 1042 1 5 0 false false false
+190 22 typbasetype 23 4 6 0 false false false
+191 22 typtypmod 23 4 7 0 false false false
+192 22 typrelid 23 4 8 0 false false false
+193 22 typelem 23 4 9 0 false false false
+194 23 oid 23 4 1 0 false false false
+195 23 indexrelid 23 4 2 0 false false false
+196 23 indrelid 23 4 3 0 false false false
+197 23 indisclustered 16 1 4 0 false false false
+198 23 indisunique 16 1 5 0 false false false
+199 23 indisprimary 16 1 6 0 false false false
+200 23 indexprs 1043 -1 7 0 false false false
+201 23 indkey 1043 -1 8 0 false false false
+202 24 oid 23 4 1 0 false false false
+203 24 amname 1043 -1 2 0 false false false
+204 25 oid 23 4 1 0 false false false
+205 25 proname 1043 -1 2 0 false false false
+206 25 proretset 16 1 3 0 false false false
+207 25 prorettype 23 4 4 0 false false false
+208 25 pronargs 21 2 5 0 false false false
+209 25 proargtypes <null> <null> 6 0 false false false
+210 25 proargnames <null> <null> 7 0 false false false
+211 25 proargmodes <null> <null> 8 0 false false false
+212 25 proallargtypes <null> <null> 9 0 false false false
+213 25 pronamespace 23 4 10 0 false false false
+214 26 oid 23 4 1 0 false false false
+215 26 tgconstrrelid 23 4 2 0 false false false
+216 26 tgfoid 23 4 3 0 false false false
+217 26 tgargs 23 4 4 0 false false false
+218 26 tgnargs 23 4 5 0 false false false
+219 26 tgdeferrable 16 1 6 0 false false false
+220 26 tginitdeferred 16 1 7 0 false false false
+221 26 tgconstrname 1043 -1 8 0 false false false
+222 26 tgrelid 23 4 9 0 false false false
+223 27 adrelid 23 4 1 0 false false false
+224 27 adnum 23 4 2 0 false false false
+225 27 adbin 1043 -1 3 0 false false false
+226 27 adsrc 1043 -1 4 0 false false false
+227 28 oid 23 4 1 0 false false false
+228 28 datname 1043 -1 2 0 false false false
+229 28 encoding 23 4 3 0 false false false
+230 28 datlastsysoid 23 4 4 0 false false false
+231 28 datallowconn 1042 1 5 0 false false false
+232 28 datconfig <null> <null> 6 0 false false false
+233 28 datacl <null> <null> 7 0 false false false
+234 28 datdba 23 4 8 0 false false false
+235 28 dattablespace 23 4 9 0 false false false
+236 29 oid 23 4 1 0 false false false
+237 29 usename 1043 -1 2 0 false false false
+238 29 usecreatedb 16 1 3 0 false false false
+239 29 usesuper 16 1 4 0 false false false
+240 30 attrelid 23 4 1 0 false false false
+241 30 attnum 21 2 2 0 false false false
+242 30 attname 1043 -1 3 0 false false false
+243 30 relname 1043 -1 4 0 false false false
+244 30 nspname 1043 -1 5 0 false false false
+245 30 autoinc 16 1 6 0 false false false
+246 30 typoid 23 4 7 0 false false false
+247 31 oid 23 4 1 0 false false false
+248 31 typname 1043 -1 2 0 false false false
+249 31 name 1043 -1 3 0 false false false
+250 31 uid 1043 -1 4 0 false false false
+251 31 typlen 21 2 5 0 false false false
+Row Count : 251
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
attrelid 4 PartsSupplier java.lang.Integer attrelid integer pg_catalog pg_attribute 11 10 0 false false false false 2 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-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -19,16 +19,18 @@
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 Columns DistinctCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 20 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns NullCount 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 21 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns SearchType 12 string 20 <null> 0 10 0 <null> <null> <null> <null> 20 22 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Format 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 23 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns DefaultValue 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 24 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns JavaClass 12 string 500 <null> 0 10 0 <null> <null> <null> <null> 500 25 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Precision 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 26 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns CharOctetLength 4 integer 10 <null> 0 10 1 <null> <null> <null> <null> 10 27 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Radix 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 28 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns UID 12 string 50 <null> 0 10 0 <null> <null> <null> <null> 50 29 NO <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns Description 12 string 255 <null> 0 10 1 <null> <null> <null> <null> 255 30 YES <null> <null> <null> !
<null> NO
+PartsSupplier SYS Columns OID 4 integer 10 <null> 0 10 0 <null> <null> <null> <null> 10 31 NO <null> <null> <null> !
<null> NO
PartsSupplier SYS DataTypes Name 12 string 100 <null> 0 10 0 <null> <null> <null> <null> 100 1 NO <null> <null> <null> !
<null> NO
PartsSupplier SYS DataTypes IsStandard -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 2 YES <null> <null> <null> !
<null> NO
PartsSupplier SYS DataTypes IsPhysical -7 boolean 1 <null> 0 10 1 <null> <null> <null> <null> 1 3 YES <null> <null> <null> !
<null> NO
@@ -249,7 +251,7 @@
PartsSupplier pg_catalog pg_user usename 12 string 4000 <null> 0 0 2 <null> <null> <null> <null> 0 2 <null> <null> <null> !
<null> NO
PartsSupplier pg_catalog pg_user usecreatedb -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 3 <null> <null> <null> !
<null> NO
PartsSupplier pg_catalog pg_user usesuper -7 boolean 1 <null> 0 0 2 <null> <null> <null> <null> 0 4 <null> <null> <null> !
<null> NO
-Row Count : 249
+Row Count : 251
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String TABLE_CAT string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String TABLE_SCHEM string SYS Columns 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -8,7 +8,15 @@
PartsSupplier SYSADMIN refreshMatViewRow ViewName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO refreshMatViewRow
PartsSupplier SYSADMIN refreshMatViewRow Key 1 2000 object 2147483647 2147483647 0 10 0 <null> <null> <null> <null> <null> 2 NO refreshMatViewRow
PartsSupplier SYSADMIN refreshMatViewRow RowsUpdated 5 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 3 NO refreshMatViewRow
-Row Count : 8
+PartsSupplier SYSADMIN setColumnStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setColumnStats
+PartsSupplier SYSADMIN setColumnStats columnName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 2 NO setColumnStats
+PartsSupplier SYSADMIN setColumnStats distinctCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 3 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats nullCount 1 4 integer 10 10 0 10 1 <null> <null> <null> <null> <null> 4 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats max 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 5 YES setColumnStats
+PartsSupplier SYSADMIN setColumnStats min 1 12 string 4000 4000 0 10 1 <null> <null> <null> <null> <null> 6 YES setColumnStats
+PartsSupplier SYSADMIN setTableStats tableName 1 12 string 4000 4000 0 10 0 <null> <null> <null> <null> <null> 1 NO setTableStats
+PartsSupplier SYSADMIN setTableStats cardinality 1 4 integer 10 10 0 10 0 <null> <null> <null> <null> <null> 2 NO setTableStats
+Row Count : 16
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String PROCEDURE_CAT string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String PROCEDURE_SCHEM string SYS ProcedureParams 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedures.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -3,7 +3,9 @@
PartsSupplier SYS getXMLSchemas <null> <null> <null> <null> 2 getXMLSchemas
PartsSupplier SYSADMIN refreshMatView <null> <null> <null> <null> 1 refreshMatView
PartsSupplier SYSADMIN refreshMatViewRow <null> <null> <null> <null> 1 refreshMatViewRow
-Row Count : 3
+PartsSupplier SYSADMIN setColumnStats <null> <null> <null> <null> 1 setColumnStats
+PartsSupplier SYSADMIN setTableStats <null> <null> <null> <null> 1 setTableStats
+Row Count : 5
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String PROCEDURE_CAT string SYS Procedures 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String PROCEDURE_SCHEM string SYS Procedures 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -1,255 +1,257 @@
-string string string string integer string string integer integer boolean boolean boolean boolean boolean boolean boolean string string string string string string string integer integer integer string !
string integer
-VDBName SchemaName TableName Name Position NameInSource DataType Scale Length IsLengthFixed SupportsSelect SupportsUpdates IsCaseSensitive IsSigned IsCurrency IsAutoIncremented NullType MinRange MaxRange SearchType Format DefaultValue JavaClass Precision CharOctetLength Radix UID !
Description OID
-PartsSupplier SYS DataTypes BaseType 17 <null> string 0 64 true true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 64 64 10 mmuuid:03beb57c-968b-4821-a6ae-cb1154cfadee !
<null> 74
-PartsSupplier SYSADMIN MatViews Cardinality 9 <null> integer 0 10 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:abe699b0-b6bc-4413-9172-0a21ca9664d2 !
<null> 26
-PartsSupplier SYS Tables Cardinality 9 <null> integer 0 10 false true false true true false false No Nulls <null> <null> All Except Like <null> <null> java.lang.Integer 10 10 10 mmuuid:24cdad3a-e8f7-4376-bb32-79f8bc8eeed2 !
<null> 155
-PartsSupplier SYS Columns CharOctetLength 25 <null> integer 0 10 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:de5def94-2804-4c91-91ed-26d630ce8afe !
<null> 53
-PartsSupplier SYS ReferenceKeyColumns DEFERRABILITY 14 <null> integer 0 10 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:88380f55-2cbd-4325-b9a3-9dcaa88a690e !
<null> 139
-PartsSupplier SYS ReferenceKeyColumns DELETE_RULE 11 <null> integer 0 10 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:9207f4df-a5ce-43bd-b3b2-fee57e459849 !
<null> 136
-PartsSupplier SYS Columns DataType 7 <null> string 0 100 true true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 100 100 10 mmuuid:9a8dc0d5-e65c-4032-a066-187f8d2e73ea !
<null> 35
-PartsSupplier SYS ProcedureParams DataType 5 <null> string 0 25 true true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 25 25 10 mmuuid:207a09af-65b8-405f-b1cb-537bc8632fa4 !
<null> 102
-PartsSupplier SYS Columns DefaultValue 22 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:7e853988-356b-4c7c-83d4-a9f015bff279 !
<null> 50
-PartsSupplier SYS Columns Description 28 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:74d73b53-b723-419e-9fea-de56408409ee !
<null> 56
-PartsSupplier SYS DataTypes Description 18 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:b7d95ef6-63a3-441c-8de5-c98e2e577ea3 !
<null> 75
-PartsSupplier SYS Keys Description 5 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:175e21b2-24c3-4677-a253-6d7cdb513a9a !
<null> 91
-PartsSupplier SYS ProcedureParams Description 15 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:05ac4703-5c2c-4410-93b7-19b39d90c803 !
<null> 112
-PartsSupplier SYS Procedures Description 7 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 225 255 10 mmuuid:fa0b5db7-acb1-4975-8410-d5d27df46040 !
<null> 120
-PartsSupplier SYS Schemas Description 5 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1cb99300-a527-4a26-b4e6-08ebd92a781d !
<null> 144
-PartsSupplier SYS Tables Description 10 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:51605e41-5cb0-40ca-8c4a-4eca52780afc !
<null> 156
-PartsSupplier SYS ReferenceKeyColumns FKCOLUMN_NAME 8 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f4b2b32c-e411-45e6-a236-fec4718f0874 !
<null> 133
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_CAT 5 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 1 255 10 mmuuid:a0095da3-1258-44dc-bab9-33eacf886a28 !
<null> 130
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_NAME 7 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:53284aaa-4c07-4930-8a0e-5e2aaa2da5cb !
<null> 132
-PartsSupplier SYS ReferenceKeyColumns FKTABLE_SCHEM 6 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:93a35adf-b6b1-4d9c-bdef-d336a84f478e !
<null> 131
-PartsSupplier SYS ReferenceKeyColumns FK_NAME 12 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a9ca7516-6898-419d-b1ad-7d174d946d07 !
<null> 137
-PartsSupplier SYS Columns Format 21 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:172b133e-5bf1-4020-953c-de4446b1e64a !
<null> 49
-PartsSupplier SYS Columns IsAutoIncremented 16 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:0d41e284-f274-4fd1-8576-7696f4b758d0 !
<null> 44
-PartsSupplier SYS DataTypes IsAutoIncremented 10 <null> boolean 0 1 true true false true true false false No Nulls <null> <null> Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:2a1568e2-776a-474b-981f-040a6ad63361 !
<null> 67
-PartsSupplier SYS Columns IsCaseSensitive 13 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:21ee166a-b462-41a1-b88d-dc79f63d6e17 !
<null> 41
-PartsSupplier SYS DataTypes IsCaseSensitive 11 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:1468aaf2-6481-4d10-9554-44d0363fe571 !
<null> 68
-PartsSupplier SYS Columns IsCurrency 15 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:b28a2963-36e0-4b4a-a8f8-a2c06f2b440a !
<null> 43
-PartsSupplier SYS Keys IsIndexed 8 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:ea96cb7c-2dcf-453c-b83a-1aaa921d8f92 !
<null> 94
-PartsSupplier SYS Columns IsLengthFixed 10 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:571aa4ce-3254-4a2b-aa48-1cb23a0c47ed !
<null> 38
-PartsSupplier SYS Tables IsMaterialized 12 <null> boolean 0 0 false true true false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 10 mmuuid:89265cba-ab85-48c2-960a-a5a9594ba6d0 !
<null> 158
-PartsSupplier SYS DataTypes IsPhysical 3 <null> boolean 0 1 true true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:983714a2-bd0b-4fad-b4e8-dfb7832e9c4b !
<null> 60
-PartsSupplier SYS Schemas IsPhysical 3 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:bab257d7-cced-4605-9b40-8ca6c078aca7 !
<null> 142
-PartsSupplier SYS Tables IsPhysical 6 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:e27712f6-a0a6-452e-848d-9de77691e939 !
<null> 152
-PartsSupplier SYS Columns IsSigned 14 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:36be2afa-8ebc-4af8-acc5-a887cf2b5a86 !
<null> 42
-PartsSupplier SYS DataTypes IsSigned 9 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:235cea48-b2b9-41d5-b296-8ab9c649b6e7 !
<null> 66
-PartsSupplier SYS DataTypes IsStandard 2 <null> boolean 0 1 true true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:02f27c5d-af55-4677-b91b-8690793671b2 !
<null> 59
-PartsSupplier SYS Tables IsSystem 11 <null> boolean 0 1 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:9fa7987c-7dc8-4102-9cc0-5658d5b46382 !
<null> 157
-PartsSupplier SYS Columns JavaClass 23 <null> string 0 500 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 500 500 10 mmuuid:6b8d5df5-7bd2-425c-8b2b-e427e026ef66 !
<null> 51
-PartsSupplier SYS DataTypes JavaClass 5 <null> string 0 500 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 500 500 10 mmuuid:4c68ef90-8042-44ab-896a-bb3890a8fe04 !
<null> 62
-PartsSupplier SYS ReferenceKeyColumns KEY_SEQ 9 <null> short 0 5 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Short 5 5 10 mmuuid:4884ac83-84ed-4b67-9f1a-bd79c0199269 !
<null> 134
-PartsSupplier SYS KeyColumns KeyName 5 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:da4bef58-83f4-4b88-8bb0-2dc8990be539 !
<null> 81
-PartsSupplier SYS KeyColumns KeyType 6 <null> string 0 20 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:df9e15e6-ab77-486d-bfe0-0adc378aa99d !
<null> 82
-PartsSupplier SYS Columns Length 9 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:b36ea0f6-cbff-4049-bc9c-8ec9928be048 !
<null> 37
-PartsSupplier SYSADMIN MatViews LoadState 7 <null> string 0 255 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:c67365c3-f252-40f4-aae6-8971d3b1b153 !
<null> 24
-PartsSupplier SYS Columns MaxRange 19 <null> string 0 50 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:0b0df4a5-7de5-4315-94f7-22c84958302e !
<null> 47
-PartsSupplier SYS Columns MinRange 18 <null> string 0 50 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:dba0f97d-fab5-45f6-a1eb-3459ab3fcc74 !
<null> 46
-PartsSupplier SYSADMIN MatViews Name 3 <null> string 0 255 false true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:0f56d35c-e450-4b4f-86b0-bdb4f1015c57 !
<null> 20
-PartsSupplier SYS Columns Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:d1f44a6d-3e39-4251-b873-1280c2b035b3 !
<null> 32
-PartsSupplier SYS DataTypes Name 1 <null> string 0 100 true true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 100 100 10 mmuuid:17f7de33-e6f0-4b9c-b55e-a87f6b7bb9b3 !
<null> 58
-PartsSupplier SYS KeyColumns Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:08bda0c7-5f66-4fed-8285-d74b63eeb0e2 !
<null> 80
-PartsSupplier SYS Keys Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:149de302-2107-45ca-839d-fc0dd1e7d7f4 !
<null> 90
-PartsSupplier SYS ProcedureParams Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:2bf20c6f-5a95-436d-8f30-a24d164e77a4 !
<null> 101
-PartsSupplier SYS Procedures Name 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:bd17e98a-c40a-43b1-93ac-88d62937c051 !
<null> 116
-PartsSupplier SYS Properties Name 1 <null> string 0 255 true true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ba007c56-04b6-4981-ab89-3fdd33ff0de8 !
<null> 122
-PartsSupplier SYS Schemas Name 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:654112f8-bb4c-4453-9e4d-f3a96fba61ec !
<null> 141
-PartsSupplier SYS Tables Name 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ef487cc2-1214-439c-af6e-da431df00d2c !
<null> 149
-PartsSupplier SYS VirtualDatabases Name 1 <null> string 0 255 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:42fa1249-8b24-4aae-a252-0a347db6ec30 !
<null> 160
-PartsSupplier SYS Columns NameInSource 6 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:fac72c6e-41dc-4a1b-8af3-f0796690d9cc !
<null> 34
-PartsSupplier SYS Keys NameInSource 6 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a52a6169-99e0-4b7e-9dc6-3a93ffa6094a !
<null> 92
-PartsSupplier SYS Procedures NameInSource 4 <null> string 0 255 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a4e7a0fd-c340-49a9-9ac0-8328caaffda8 !
<null> 117
-PartsSupplier SYS Tables NameInSource 5 <null> string 0 255 true true false true false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1f036fb0-b841-450c-8462-986cdd57e921 !
<null> 151
-PartsSupplier SYS Columns NullType 17 <null> string 0 20 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:4d83bdbb-a7ce-44cc-a201-021a517d3c1a !
<null> 45
-PartsSupplier SYS DataTypes NullType 8 <null> string 0 20 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:278b0534-1164-495e-a8c6-de45e0ff53a4 !
<null> 65
-PartsSupplier SYS ProcedureParams NullType 13 <null> string 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 10 10 10 mmuuid:d887c203-6bf5-462b-b2f0-f5302e2f4bcd !
<null> 110
-PartsSupplier SYS Columns OID 29 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:b9e5ba07-4a8d-4589-8aa9-597ae70d18a4 !
<null> 57
-PartsSupplier SYS DataTypes OID 19 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:a3c41050-80b6-4fb5-9c6b-5e20c0839cda !
<null> 76
-PartsSupplier SYS KeyColumns OID 10 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:207d123c-a3ff-4e4e-85ae-6f3b0debfc06 !
<null> 86
-PartsSupplier SYS Keys OID 11 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:d781f893-bdf3-4dc1-956f-7e7b1a138c99 !
<null> 97
-PartsSupplier SYS ProcedureParams OID 16 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:72125f93-846f-413c-82e1-fa3227fb043f !
<null> 113
-PartsSupplier SYS Procedures OID 8 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:c80c02d2-7174-4cc4-b347-e921a80f568c !
<null> 121
-PartsSupplier SYS Properties OID 4 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:54c1a7dc-5ca8-4d34-8672-e76d63fe3b95 !
<null> 125
-PartsSupplier SYS Schemas OID 7 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:31746839-e019-4321-90cb-a557e1d4754e !
<null> 146
-PartsSupplier SYS Tables OID 13 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:dae79c58-b381-4275-8c1c-b299d732d355 !
<null> 159
-PartsSupplier SYS ProcedureParams Optional 8 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:4033f891-5ef5-4a75-8a50-bd1d021e43ad !
<null> 105
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_COLOR 3 PART_COLOR string 0 30 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 30 10 mmuuid:015c0d00-73ff-1edc-a81c-ecf397b10590 !
<null> 3
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 1 PART_ID string 0 4 true true true true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 4 10 mmuuid:fadcd7c0-73fe-1edc-a81c-ecf397b10590 !
<null> 1
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 2 PART_ID string 0 4 true true true true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 4 10 mmuuid:3fc400c0-73ff-1edc-a81c-ecf397b10590 !
<null> 10
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_NAME 2 PART_NAME string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:0067e900-73ff-1edc-a81c-ecf397b10590 !
<null> 2
-PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 4 PART_WEIGHT string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:015c0d01-73ff-1edc-a81c-ecf397b10590 !
<null> 4
-PartsSupplier SYS ReferenceKeyColumns PKCOLUMN_NAME 4 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:0125a80a-95f9-486f-aa90-debb21cb5f1b !
<null> 129
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_CAT 1 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 1 255 10 mmuuid:f615a661-2c36-4ab1-b72b-5e13e99e052c !
<null> 126
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_NAME 3 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:6d420bc2-0f85-4da9-833d-d71b428b0743 !
<null> 128
-PartsSupplier SYS ReferenceKeyColumns PKTABLE_SCHEM 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ef7b3b79-fb51-42ef-a723-080ed0a6e3bc !
<null> 127
-PartsSupplier SYS ReferenceKeyColumns PK_NAME 13 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ac210a6d-4de6-4d71-aa9b-e3d34baca81a !
<null> 138
-PartsSupplier SYS Columns Position 5 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:dbc8cd09-1b47-43c5-82ec-aba525b85cc4 !
<null> 33
-PartsSupplier SYS KeyColumns Position 9 <null> integer 0 10 true true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:92a4849c-ed0e-4f5f-a108-d7d71a5aba25 !
<null> 85
-PartsSupplier SYS ProcedureParams Position 6 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:5fdefd17-65f4-4350-9ee0-0ed3c34d10ae !
<null> 103
-PartsSupplier SYS Columns Precision 24 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:db3d49e2-fe1d-438b-8d07-847bf58506ab !
<null> 52
-PartsSupplier SYS DataTypes Precision 12 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:8673c810-7162-4331-ba0b-6fc3530d2d1c !
<null> 69
-PartsSupplier SYS ProcedureParams Precision 9 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:00fe7cad-0a83-42f0-90f2-d6a9584916b2 !
<null> 106
-PartsSupplier SYS Schemas PrimaryMetamodelURI 6 <null> string 0 255 false true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:eadfaba5-ce44-4529-816f-6af94666baec !
<null> 145
-PartsSupplier SYS ProcedureParams ProcedureName 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:8081b3a6-fc79-42fd-b7c9-a19d682a1658 !
<null> 100
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 3 QUANTITY short 0 0 true true true false true false false Nullable <null> <null> All Except Like <null> <null> java.lang.Short 3 0 10 mmuuid:3fc400c1-73ff-1edc-a81c-ecf397b10590 !
<null> 11
-PartsSupplier SYS Columns Radix 26 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:43a6124c-972f-4c4c-af05-24080c2a8ad7 !
<null> 54
-PartsSupplier SYS DataTypes Radix 13 <null> integer 0 10 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:967ab8fd-3226-4a78-8cf2-2eb7fbf2981a !
<null> 70
-PartsSupplier SYS ProcedureParams Radix 12 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:8df37c99-3b12-4789-8128-4aa496f895c4 !
<null> 109
-PartsSupplier SYS KeyColumns RefKeyUID 7 <null> string 0 50 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:aafbdf50-25aa-427b-b322-7cb36094a1e2 !
<null> 83
-PartsSupplier SYS Keys RefKeyUID 9 <null> string 0 50 true true false false false false false Nullable <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:1cf4c5ad-5932-47ec-8593-385b75bfeba8 !
<null> 95
-PartsSupplier SYS Procedures ReturnsResults 5 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:b01164c8-dd10-410d-a91b-fcb2fc0450ce !
<null> 118
-PartsSupplier SYS DataTypes RuntimeType 16 <null> string 0 64 true true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 64 64 10 mmuuid:3c7bc9d0-b73f-49a0-b9ab-dc97a4d2a124 !
<null> 73
-PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 1 SHIPPER_ID short 0 0 true true true false true false false No Nulls <null> <null> All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:121bc540-73ff-1edc-a81c-ecf397b10590 !
<null> 5
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 4 SHIPPER_ID short 0 0 true true true false true false false Nullable <null> <null> All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:3fc400c2-73ff-1edc-a81c-ecf397b10590 !
<null> 12
-PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 2 SHIPPER_NAME string 0 30 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 30 10 mmuuid:130fe940-73ff-1edc-a81c-ecf397b10590 !
<null> 6
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 1 STATUS_ID short 0 0 true true true false true false false No Nulls <null> <null> All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:201d9600-73ff-1edc-a81c-ecf397b10590 !
<null> 7
-PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 2 STATUS_NAME string 0 30 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 30 10 mmuuid:201d9601-73ff-1edc-a81c-ecf397b10590 !
<null> 8
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 4 SUPPLIER_CITY string 0 30 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 30 10 mmuuid:2fe92a40-73ff-1edc-a81c-ecf397b10590 !
<null> 16
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 SUPPLIER_ID string 0 10 false true true true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 10 10 mmuuid:3ecfdcc0-73ff-1edc-a81c-ecf397b10590 !
<null> 9
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 1 SUPPLIER_ID string 0 10 false true true true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 10 10 mmuuid:2f044880-73ff-1edc-a81c-ecf397b10590 !
<null> 13
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 2 SUPPLIER_NAME string 0 30 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 30 10 mmuuid:2f044881-73ff-1edc-a81c-ecf397b10590 !
<null> 14
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 5 SUPPLIER_STATE string 0 2 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 2 10 mmuuid:2fe92a41-73ff-1edc-a81c-ecf397b10590 !
<null> 17
-PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 3 SUPPLIER_STATUS short 0 0 true true true false true false false Nullable <null> <null> All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:2f044882-73ff-1edc-a81c-ecf397b10590 !
<null> 15
-PartsSupplier SYS Columns Scale 8 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:cc6c6113-8d70-40c8-84c0-94e17c14e22e !
<null> 36
-PartsSupplier SYS DataTypes Scale 6 <null> integer 0 10 true true false false false false false Nullable <null> <null> Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:e8655204-e97a-45cd-909b-1e37731e9546 !
<null> 63
-PartsSupplier SYS ProcedureParams Scale 11 <null> integer 0 10 true true true false false false false No Nulls <null> <null> Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:360c8b1d-4b3d-42fd-952c-bf5763cad69e !
<null> 108
-PartsSupplier SYSADMIN MatViews SchemaName 2 <null> string 0 255 false true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:2738c484-d24d-4c40-b0b7-e734afb03450 !
<null> 19
-PartsSupplier SYS Columns SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:859288c9-cd78-4407-90fc-61b5d310e2ab !
<null> 30
-PartsSupplier SYS KeyColumns SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:787be966-cf12-4956-907f-a8e6dc1009dc !
<null> 78
-PartsSupplier SYS Keys SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:4a7fc059-208e-4f98-b6ef-cb7c6102a327 !
<null> 88
-PartsSupplier SYS ProcedureParams SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:88497911-619c-4ca8-b482-8885d940706a !
<null> 99
-PartsSupplier SYS Procedures SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:53a84865-334e-4750-b343-de2411d56e3e !
<null> 115
-PartsSupplier SYS Tables SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:95bd960c-fd84-44c9-9831-692376f69b46 !
<null> 148
-PartsSupplier SYS Columns SearchType 20 <null> string 0 20 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:3037138a-bb20-4485-ba01-75bc20b1a532 !
<null> 48
-PartsSupplier SYS DataTypes SearchType 14 <null> string 0 20 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:d8494fa3-40e4-44cd-b0d8-da5c83685a75 !
<null> 71
-PartsSupplier SYS Columns SupportsSelect 11 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:c2a50f93-0040-41ec-ad7b-e8511296555f !
<null> 39
-PartsSupplier SYS Columns SupportsUpdates 12 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:fab660d1-36bf-4a5b-bbe6-9a543e0ebd76 !
<null> 40
-PartsSupplier SYS Tables SupportsUpdates 7 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:5144d230-2b0e-4255-b321-65b9f6f6f76c !
<null> 153
-PartsSupplier SYS Columns TableName 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:2c09c9d1-2f25-45de-81cf-eeb2a5157d34 !
<null> 31
-PartsSupplier SYS KeyColumns TableName 3 <null> string 0 2048 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 2048 2048 10 mmuuid:c24fad72-0c0d-4260-96ae-f188ad77b137 !
<null> 79
-PartsSupplier SYS Keys TableName 3 <null> string 0 2048 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 2048 2048 10 mmuuid:7d9540bd-b51f-4206-8c33-b39c5ba8bb8b !
<null> 89
-PartsSupplier SYSADMIN MatViews TargetName 5 <null> string 0 4000 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 4000 10 mmuuid:d2831595-d6f5-4cca-aa5d-2ff2530d0ab1 !
<null> 22
-PartsSupplier SYSADMIN MatViews TargetSchemaName 4 <null> string 0 255 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:a95dba1c-283e-4f48-9671-34cecdb7d0e3 !
<null> 21
-PartsSupplier SYS Keys Type 7 <null> string 0 20 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:29e73c18-afec-43a9-81ab-7378d6daf20b !
<null> 93
-PartsSupplier SYS ProcedureParams Type 7 <null> string 0 100 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 100 100 10 mmuuid:76a1981b-1226-4a55-9acf-82a061cc8642 !
<null> 104
-PartsSupplier SYS Tables Type 4 <null> string 0 20 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 20 20 10 mmuuid:4814a0af-4e8f-4f55-9b25-3148d90d3d9b !
<null> 150
-PartsSupplier SYS DataTypes TypeLength 7 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:0668382a-f9c3-4507-8b0f-df65a2ebbf2f !
<null> 64
-PartsSupplier SYS ProcedureParams TypeLength 10 <null> integer 0 10 true true false false false false false No Nulls <null> <null> Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:791d7a29-8fc5-4735-9144-1accc114b58e !
<null> 107
-PartsSupplier SYS DataTypes TypeName 4 <null> string 0 100 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 100 100 10 mmuuid:48081cdd-9e90-4440-a956-4a32af96d7f4 !
<null> 61
-PartsSupplier SYS Columns UID 27 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:5f491c75-769b-4908-9f68-2a9a486607bb !
<null> 55
-PartsSupplier SYS DataTypes UID 15 <null> string 0 50 true true false false true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:dd57f577-ffc4-4b55-8f7f-355b9ea3ce37 !
<null> 72
-PartsSupplier SYS KeyColumns UID 8 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:0d994a45-4f52-4b79-9b31-7ef22331fee2 !
<null> 84
-PartsSupplier SYS Keys UID 10 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:782218d1-5337-48c6-9070-0aafd4c6cd20 !
<null> 96
-PartsSupplier SYS ProcedureParams UID 14 <null> string 0 50 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 50 10 mmuuid:a278de2e-89f1-4281-9e63-54aebb6062ce !
<null> 111
-PartsSupplier SYS Procedures UID 6 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:de9df25a-c886-46e0-ae3a-8eb6792e43f4 !
<null> 119
-PartsSupplier SYS Properties UID 3 <null> string 0 50 true true false false true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:b333969a-83e0-4010-9463-9a0088da6c83 !
<null> 124
-PartsSupplier SYS Schemas UID 4 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:ad232e4d-9c01-4d0c-bc57-0459d9db918a !
<null> 143
-PartsSupplier SYS Tables UID 8 <null> string 0 50 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:6afe3737-26f9-43a8-88db-86531b5dc66c !
<null> 154
-PartsSupplier SYS ReferenceKeyColumns UPDATE_RULE 10 <null> integer 0 10 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:30d5ae74-b19e-4186-97e1-aeff5801e44f !
<null> 135
-PartsSupplier SYSADMIN MatViews Updated 8 <null> timestamp 0 0 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.sql.Timestamp 0 0 10 mmuuid:33970a66-7ad4-411f-a6c4-545746747fe6 !
<null> 25
-PartsSupplier SYSADMIN MatViews VDBName 1 <null> string 0 255 false true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:c1ce9841-e272-4839-8c78-777a5f68d241 !
<null> 18
-PartsSupplier SYS Columns VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:83f19a81-1243-4751-8c99-daddbf37b1d7 !
<null> 29
-PartsSupplier SYS KeyColumns VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f062eb9c-4854-47fb-b7bd-a4e23c782b62 !
<null> 77
-PartsSupplier SYS Keys VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:5785b523-7da3-42c1-8920-66daa1f7fa1d !
<null> 87
-PartsSupplier SYS ProcedureParams VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f832f316-2403-43fa-9ccc-c3ab9d38acca !
<null> 98
-PartsSupplier SYS Procedures VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1d664747-4a95-4605-8b28-381bed3121f1 !
<null> 114
-PartsSupplier SYS Schemas VDBName 1 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:73dbf95b-a283-4f0a-81b9-9b98e09c2906 !
<null> 140
-PartsSupplier SYS Tables VDBName 1 <null> string 0 255 false true true true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:58de905f-9d64-4831-a985-da6d082ff709 !
<null> 147
-PartsSupplier SYSADMIN MatViews Valid 6 <null> boolean 0 0 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 10 mmuuid:13098912-bce2-4842-9ea9-b162fcd7383e !
<null> 23
-PartsSupplier SYS Properties Value 2 <null> string 0 255 true true false true true false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 255 255 10 mmuuid:c917257d-06b7-41dd-a6cb-44c0ff0f897e !
<null> 123
-PartsSupplier SYS VirtualDatabases Version 2 <null> string 0 50 true true false true false false false No Nulls <null> <null> Searchable <null> <null> java.lang.String 50 50 10 mmuuid:c876d749-a512-4810-9910-3034ca524c45 !
<null> 161
-PartsSupplier pg_catalog pg_attrdef adbin 3 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:e22c521a-e208-4181-9dbd-89f5de7014b9 !
<null> 223
-PartsSupplier pg_catalog pg_attrdef adnum 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e9b278d4-49af-442f-9a5a-b699fe3b102b !
<null> 222
-PartsSupplier pg_catalog pg_attrdef adrelid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:4589389f-4abd-42a6-818f-ff1f2a085dfb !
<null> 221
-PartsSupplier pg_catalog pg_attrdef adsrc 4 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:492dd834-907f-429b-aa6e-958ad65204c6 !
<null> 224
-PartsSupplier pg_catalog pg_am amname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:da4b747e-7d87-403a-8309-2cdf1399031b !
<null> 201
-PartsSupplier pg_catalog pg_attribute atthasdef 10 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:5868e549-4bbe-479e-bc7e-632c05cc2329 !
<null> 182
-PartsSupplier pg_catalog pg_attribute attisdropped 9 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:7beb42a9-dfe6-43de-98b6-7e8948b1a666 !
<null> 181
-PartsSupplier pg_catalog pg_attribute attlen 5 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:d1214249-95cd-426f-b8f6-4bf68c0504c7 !
<null> 177
-PartsSupplier pg_catalog pg_attribute attname 3 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:6064d149-4102-4c2d-9132-582342f25e90 !
<null> 175
-PartsSupplier pg_catalog matpg_relatt attname 3 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:5cfb2b62-a912-4bfb-bf4f-51e107fe210c !
<null> 240
-PartsSupplier pg_catalog pg_attribute attnotnull 8 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:91ce8bde-8570-4867-be17-80acfa9275a6 !
<null> 180
-PartsSupplier pg_catalog pg_attribute attnum 6 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:141fd911-f2dd-4edd-8f08-ad8a67ffd0fb !
<null> 178
-PartsSupplier pg_catalog matpg_relatt attnum 2 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:0b0894ba-e1ea-4eaf-bcd2-ea9ebd05e47d !
<null> 239
-PartsSupplier pg_catalog pg_attribute attrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3be6b5de-2287-4279-93f3-4f5064799118 !
<null> 174
-PartsSupplier pg_catalog matpg_relatt attrelid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:5c7bf056-ecc5-41ea-a122-7a4b1de9908a !
<null> 238
-PartsSupplier pg_catalog pg_attribute atttypid 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:99782493-1cce-4e14-9c1b-4de7ce50e2c8 !
<null> 176
-PartsSupplier pg_catalog pg_attribute atttypmod 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:2e2bae3c-ab93-49f5-b96c-7a7b9d66782d !
<null> 179
-PartsSupplier pg_catalog matpg_relatt autoinc 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:23454408-0347-40d2-a3f9-3faa664fb5e9 !
<null> 243
-PartsSupplier SYSADMIN VDBResources contents 2 <null> blob 0 0 false true false true true false false Nullable <null> <null> Searchable <null> <null> org.teiid.core.types.BlobType 0 0 10 mmuuid:f9421669-3564-451d-9293-96c1e5e72c4f !
<null> 28
-PartsSupplier pg_catalog pg_database datacl 7 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:8b993c11-de2b-48bc-beb1-3e44c46811b4 !
<null> 231
-PartsSupplier pg_catalog pg_database datallowconn 5 <null> char 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Character 0 0 0 mmuid:5c9d54b2-433f-443a-85ce-821f42ed109e !
<null> 229
-PartsSupplier pg_catalog pg_database datconfig 6 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:4b5beb14-03a0-4652-9d6f-5f8cc74d470c !
<null> 230
-PartsSupplier pg_catalog pg_database datdba 8 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:36db343d-e99a-427c-a4e2-763a720ce4a4 !
<null> 232
-PartsSupplier pg_catalog pg_database datlastsysoid 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c2bdf40c-ec58-439c-a403-7adf604ceadd !
<null> 228
-PartsSupplier pg_catalog pg_database datname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:1aedd02c-5801-41e7-accd-da1f257c26e8 !
<null> 226
-PartsSupplier pg_catalog pg_database dattablespace 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:28d034eb-6f39-402f-b642-9c9560e57247 !
<null> 233
-PartsSupplier pg_catalog pg_database encoding 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3b621b25-171c-405b-8bf9-635cf93f2273 !
<null> 227
-PartsSupplier pg_catalog pg_index indexprs 7 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:1e6dbecd-9a2d-4aef-afbe-665de7acb9d6 !
<null> 198
-PartsSupplier pg_catalog pg_index indexrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:8709e084-48df-417d-b3f8-f4e9b7d8802b !
<null> 193
-PartsSupplier pg_catalog pg_index indisclustered 4 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9f873e0f-903d-4c9d-8c37-1073b5ec4c67 !
<null> 195
-PartsSupplier pg_catalog pg_index indisprimary 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9ea3b6d2-b27b-4bb1-a99d-b703c3308384 !
<null> 197
-PartsSupplier pg_catalog pg_index indisunique 5 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:a52c714d-dfe9-406c-906b-fadd53ac4e98 !
<null> 196
-PartsSupplier pg_catalog pg_index indkey 8 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:347ec08c-6b41-41d0-8475-031ce7d99ac0 !
<null> 199
-PartsSupplier pg_catalog pg_index indrelid 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:16998907-e1dd-447e-898d-780994d30619 !
<null> 194
-PartsSupplier pg_catalog matpg_datatype name 3 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:b4e04928-9a59-4718-a7f1-3a60bcae7449 !
<null> 247
-PartsSupplier pg_catalog pg_namespace nspname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:0e513513-b35a-48be-975d-5dbed6ace7e9 !
<null> 163
-PartsSupplier pg_catalog matpg_relatt nspname 5 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:f1998229-2c1a-47b7-8f46-9dda81446db6 !
<null> 242
-PartsSupplier pg_catalog pg_namespace oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:688e5112-4083-4b67-b42c-62d9a614c59a !
<null> 162
-PartsSupplier pg_catalog pg_class oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c1e736ac-c9d4-4026-8904-23c90e6eb1c0 !
<null> 164
-PartsSupplier pg_catalog pg_attribute oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:f735e545-a81c-4ee2-84d0-3ea35d4083a2 !
<null> 173
-PartsSupplier pg_catalog pg_type oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:b6f64d16-b147-459d-8e84-1bd3048fb900 !
<null> 183
-PartsSupplier pg_catalog pg_index oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:83ae2247-7eec-459f-b037-ffd3cdca0627 !
<null> 192
-PartsSupplier pg_catalog pg_am oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3c67619c-7d8f-4378-b7e9-84a0451ea5e5 !
<null> 200
-PartsSupplier pg_catalog pg_proc oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bdf3ee1e-b5b7-48ab-b43c-4bbb2c8ae1e2 !
<null> 202
-PartsSupplier pg_catalog pg_trigger oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:635b6634-632c-43c9-8cc7-bcaa016133e8 !
<null> 212
-PartsSupplier pg_catalog pg_database oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:689cde3b-a631-4f25-94b4-ff2ffe022b0f !
<null> 225
-PartsSupplier pg_catalog pg_user oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bb78401d-d10c-43b1-af84-e4fa6b95db42 !
<null> 234
-PartsSupplier pg_catalog matpg_datatype oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:053375a4-3971-4705-9146-9ecc640022c2 !
<null> 245
-PartsSupplier pg_catalog pg_proc proallargtypes 9 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:a385751f-a31a-4d5d-9197-3fbd390b0251 !
<null> 210
-PartsSupplier pg_catalog pg_proc proargmodes 8 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:bcbed548-176c-4116-a5d6-7638cb0206e1 !
<null> 209
-PartsSupplier pg_catalog pg_proc proargnames 7 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:d9f36bdc-7b25-4af0-b9f5-a96aac6d3094 !
<null> 208
-PartsSupplier pg_catalog pg_proc proargtypes 6 <null> object 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Object 0 0 0 mmuid:ffa4ac73-b549-470e-931f-dc36330cb8c4 !
<null> 207
-PartsSupplier pg_catalog pg_proc proname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:b288b3aa-37f2-4a8e-8b1b-e932a2ce3e25 !
<null> 203
-PartsSupplier pg_catalog pg_proc pronamespace 10 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e5715456-245f-4846-b90b-01d06d1c3672 !
<null> 211
-PartsSupplier pg_catalog pg_proc pronargs 5 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:6796c2e7-48a4-4f9f-bc98-d47913e2491c !
<null> 206
-PartsSupplier pg_catalog pg_proc proretset 3 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:e0244e1d-431c-41fa-8194-1e357e2b688b !
<null> 204
-PartsSupplier pg_catalog pg_proc prorettype 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:9fb5a34a-3a7e-4d38-b7cd-239f28a3504e !
<null> 205
-PartsSupplier pg_catalog pg_class relam 5 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c2f92b1a-6ba0-4486-8936-f5185d926178 !
<null> 168
-PartsSupplier pg_catalog pg_class relhasoids 9 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:3ac5a14a-1f9e-455b-8ea1-cf0878774fd7 !
<null> 172
-PartsSupplier pg_catalog pg_class relhasrules 8 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:6c26fd66-2a4a-4ccf-949a-a06a858db7f6 !
<null> 171
-PartsSupplier pg_catalog pg_class relkind 4 <null> char 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Character 0 0 0 mmuid:ef4359eb-6d51-4249-bfea-40bc0f407d10 !
<null> 167
-PartsSupplier pg_catalog pg_class relname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:5f9b50fa-8188-4048-93c2-3ad1587915df !
<null> 165
-PartsSupplier pg_catalog matpg_relatt relname 4 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:ffbf69c1-2e34-4764-a9b3-9a1b61bfd4af !
<null> 241
-PartsSupplier pg_catalog pg_class relnamespace 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:4591ef08-bff8-4f3b-9de7-420f9c7f9d2b !
<null> 166
-PartsSupplier pg_catalog pg_class relpages 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:44dee7d6-b6ae-44c7-85f2-e87364d8d059 !
<null> 170
-PartsSupplier pg_catalog pg_class reltuples 6 <null> float 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Float 0 0 0 mmuid:b9ed4b49-5a7b-4ba4-863a-37fd95b2a34c !
<null> 169
-PartsSupplier SYSADMIN VDBResources resourcePath 1 <null> string 0 255 false true false true true false false Nullable <null> <null> Searchable <null> <null> java.lang.String 0 255 10 mmuuid:b1bc5150-3dcc-452e-9e75-4a506997f612 !
<null> 27
-PartsSupplier pg_catalog pg_trigger tgargs 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:0c20dbe7-5d89-411f-a8ab-3d77b999595b !
<null> 215
-PartsSupplier pg_catalog pg_trigger tgconstrname 8 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:c010d12f-2074-45db-8e18-979cee2c45da !
<null> 219
-PartsSupplier pg_catalog pg_trigger tgconstrrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:64977f3e-f2a0-466e-a5d1-80bb058cbe08 !
<null> 213
-PartsSupplier pg_catalog pg_trigger tgdeferrable 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:bfbff036-caf2-4652-80cf-398af17ed7d1 !
<null> 217
-PartsSupplier pg_catalog pg_trigger tgfoid 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:250d7c06-728a-4b2a-b557-91f2a69bb184 !
<null> 214
-PartsSupplier pg_catalog pg_trigger tginitdeferred 7 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:da4b59ca-ebff-45a8-ad68-9777bc587813 !
<null> 218
-PartsSupplier pg_catalog pg_trigger tgnargs 5 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:d70f020b-658c-4f58-86dc-0fbb12e2d8af !
<null> 216
-PartsSupplier pg_catalog pg_trigger tgrelid 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:71091853-c65e-46a9-9947-aa024f806e2d !
<null> 220
-PartsSupplier pg_catalog pg_type typbasetype 6 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:a17d2f61-cd68-4c0d-8d25-132f68eb3b67 !
<null> 188
-PartsSupplier pg_catalog pg_type typelem 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:22ac431d-e6e6-4eef-9d74-b31795424e97 !
<null> 191
-PartsSupplier pg_catalog pg_type typlen 4 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:931c09e1-937a-437e-aab2-2360f8d90e2b !
<null> 186
-PartsSupplier pg_catalog matpg_datatype typlen 5 <null> short 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Short 0 0 0 mmuid:0e9c4439-48d0-4115-a343-5baab7a236b6 !
<null> 249
-PartsSupplier pg_catalog pg_type typname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:d600d818-2aad-4c92-9343-267d044dd97d !
<null> 184
-PartsSupplier pg_catalog matpg_datatype typname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:0f312b3c-98ca-4a09-81fa-f1ff83f0a6c1 !
<null> 246
-PartsSupplier pg_catalog pg_type typnamespace 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e47217d2-2b07-4353-bfbd-d7c883a5e7e0 !
<null> 185
-PartsSupplier pg_catalog matpg_relatt typoid 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:595a823f-cec1-42dc-b8b2-c95c8b4e4e66 !
<null> 244
-PartsSupplier pg_catalog pg_type typrelid 8 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bec25882-b292-4ed1-a610-cad5d504837d !
<null> 190
-PartsSupplier pg_catalog pg_type typtype 5 <null> char 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Character 0 0 0 mmuid:83199eba-7af4-44a9-822f-006677b1b895 !
<null> 187
-PartsSupplier pg_catalog pg_type typtypmod 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:cee3559d-1ce6-4b17-ad57-2ecb79a9e1d2 !
<null> 189
-PartsSupplier pg_catalog matpg_datatype uid 4 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:87826ebc-98a5-4f19-a6d8-6b7b96cbed48 !
<null> 248
-PartsSupplier pg_catalog pg_user usecreatedb 3 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:6da98878-b46e-4ed1-b032-1bc72da595f4 !
<null> 236
-PartsSupplier pg_catalog pg_user usename 2 <null> string 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.String 0 0 0 mmuid:236445e1-408c-40a1-a61c-40e96fb5dc9f !
<null> 235
-PartsSupplier pg_catalog pg_user usesuper 4 <null> boolean 0 0 false true false false false false false Unknown <null> <null> Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9bfddc66-af75-4366-8eac-b9fef3421219 !
<null> 237
-Row Count : 249
+string string string string integer string string integer integer boolean boolean boolean boolean boolean boolean boolean string string string integer integer string string string string integer integer integer string !
string integer
+VDBName SchemaName TableName Name Position NameInSource DataType Scale Length IsLengthFixed SupportsSelect SupportsUpdates IsCaseSensitive IsSigned IsCurrency IsAutoIncremented NullType MinRange MaxRange DistinctCount NullCount SearchType Format DefaultValue JavaClass Precision CharOctetLength Radix UID !
Description OID
+PartsSupplier SYS DataTypes BaseType 17 <null> string 0 64 true true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 64 64 10 mmuuid:03beb57c-968b-!
4821-a6ae-cb1154cfadee <null> 76
+PartsSupplier SYSADMIN MatViews Cardinality 9 <null> integer 0 10 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:abe699b0-b6bc-!
4413-9172-0a21ca9664d2 <null> 26
+PartsSupplier SYS Tables Cardinality 9 <null> integer 0 10 false true false true true false false No Nulls <null> <null> -1 -1 All Except Like <null> <null> java.lang.Integer 10 10 10 mmuuid:24cdad3a-e8f7-!
4376-bb32-79f8bc8eeed2 <null> 157
+PartsSupplier SYS Columns CharOctetLength 27 <null> integer 0 10 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:de5def94-2804-!
4c91-91ed-26d630ce8afe <null> 55
+PartsSupplier SYS ReferenceKeyColumns DEFERRABILITY 14 <null> integer 0 10 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:88380f55-2cbd-!
4325-b9a3-9dcaa88a690e <null> 141
+PartsSupplier SYS ReferenceKeyColumns DELETE_RULE 11 <null> integer 0 10 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:9207f4df-a5ce-!
43bd-b3b2-fee57e459849 <null> 138
+PartsSupplier SYS Columns DataType 7 <null> string 0 100 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 100 100 10 mmuuid:9a8dc0d5-e65c-!
4032-a066-187f8d2e73ea <null> 35
+PartsSupplier SYS ProcedureParams DataType 5 <null> string 0 25 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 25 25 10 mmuuid:207a09af-65b8-!
405f-b1cb-537bc8632fa4 <null> 104
+PartsSupplier SYS Columns DefaultValue 24 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:7e853988-356b-!
4c7c-83d4-a9f015bff279 <null> 52
+PartsSupplier SYS Columns Description 30 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:74d73b53-b723-!
419e-9fea-de56408409ee <null> 58
+PartsSupplier SYS DataTypes Description 18 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:b7d95ef6-63a3-!
441c-8de5-c98e2e577ea3 <null> 77
+PartsSupplier SYS Keys Description 5 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:175e21b2-24c3-!
4677-a253-6d7cdb513a9a <null> 93
+PartsSupplier SYS ProcedureParams Description 15 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:05ac4703-5c2c-!
4410-93b7-19b39d90c803 <null> 114
+PartsSupplier SYS Procedures Description 7 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 225 255 10 mmuuid:fa0b5db7-acb1-!
4975-8410-d5d27df46040 <null> 122
+PartsSupplier SYS Schemas Description 5 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1cb99300-a527-!
4a26-b4e6-08ebd92a781d <null> 146
+PartsSupplier SYS Tables Description 10 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:51605e41-5cb0-!
40ca-8c4a-4eca52780afc <null> 158
+PartsSupplier SYS Columns DistinctCount 20 <null> integer 0 10 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 10 10 mmuuid:0017cd41-d873-!
4fcb-a2e7-15cdac7df3a5 <null> 48
+PartsSupplier SYS ReferenceKeyColumns FKCOLUMN_NAME 8 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f4b2b32c-e411-!
45e6-a236-fec4718f0874 <null> 135
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_CAT 5 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 1 255 10 mmuuid:a0095da3-1258-!
44dc-bab9-33eacf886a28 <null> 132
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_NAME 7 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:53284aaa-4c07-!
4930-8a0e-5e2aaa2da5cb <null> 134
+PartsSupplier SYS ReferenceKeyColumns FKTABLE_SCHEM 6 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:93a35adf-b6b1-!
4d9c-bdef-d336a84f478e <null> 133
+PartsSupplier SYS ReferenceKeyColumns FK_NAME 12 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a9ca7516-6898-!
419d-b1ad-7d174d946d07 <null> 139
+PartsSupplier SYS Columns Format 23 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:172b133e-5bf1-!
4020-953c-de4446b1e64a <null> 51
+PartsSupplier SYS Columns IsAutoIncremented 16 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:0d41e284-f274-!
4fd1-8576-7696f4b758d0 <null> 44
+PartsSupplier SYS DataTypes IsAutoIncremented 10 <null> boolean 0 1 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:2a1568e2-776a-!
474b-981f-040a6ad63361 <null> 69
+PartsSupplier SYS Columns IsCaseSensitive 13 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:21ee166a-b462-!
41a1-b88d-dc79f63d6e17 <null> 41
+PartsSupplier SYS DataTypes IsCaseSensitive 11 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:1468aaf2-6481-!
4d10-9554-44d0363fe571 <null> 70
+PartsSupplier SYS Columns IsCurrency 15 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:b28a2963-36e0-!
4b4a-a8f8-a2c06f2b440a <null> 43
+PartsSupplier SYS Keys IsIndexed 8 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:ea96cb7c-2dcf-!
453c-b83a-1aaa921d8f92 <null> 96
+PartsSupplier SYS Columns IsLengthFixed 10 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:571aa4ce-3254-!
4a2b-aa48-1cb23a0c47ed <null> 38
+PartsSupplier SYS Tables IsMaterialized 12 <null> boolean 0 0 false true true false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 10 mmuuid:89265cba-ab85-!
48c2-960a-a5a9594ba6d0 <null> 160
+PartsSupplier SYS DataTypes IsPhysical 3 <null> boolean 0 1 true true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:983714a2-bd0b-!
4fad-b4e8-dfb7832e9c4b <null> 62
+PartsSupplier SYS Schemas IsPhysical 3 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:bab257d7-cced-!
4605-9b40-8ca6c078aca7 <null> 144
+PartsSupplier SYS Tables IsPhysical 6 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:e27712f6-a0a6-!
452e-848d-9de77691e939 <null> 154
+PartsSupplier SYS Columns IsSigned 14 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:36be2afa-8ebc-!
4af8-acc5-a887cf2b5a86 <null> 42
+PartsSupplier SYS DataTypes IsSigned 9 <null> boolean 0 1 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> ('0') java.lang.Boolean 1 1 10 mmuuid:235cea48-b2b9-!
41d5-b296-8ab9c649b6e7 <null> 68
+PartsSupplier SYS DataTypes IsStandard 2 <null> boolean 0 1 true true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:02f27c5d-af55-!
4677-b91b-8690793671b2 <null> 61
+PartsSupplier SYS Tables IsSystem 11 <null> boolean 0 1 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:9fa7987c-7dc8-!
4102-9cc0-5658d5b46382 <null> 159
+PartsSupplier SYS Columns JavaClass 25 <null> string 0 500 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 500 500 10 mmuuid:6b8d5df5-7bd2-!
425c-8b2b-e427e026ef66 <null> 53
+PartsSupplier SYS DataTypes JavaClass 5 <null> string 0 500 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 500 500 10 mmuuid:4c68ef90-8042-!
44ab-896a-bb3890a8fe04 <null> 64
+PartsSupplier SYS ReferenceKeyColumns KEY_SEQ 9 <null> short 0 5 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 5 5 10 mmuuid:4884ac83-84ed-!
4b67-9f1a-bd79c0199269 <null> 136
+PartsSupplier SYS KeyColumns KeyName 5 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:da4bef58-83f4-!
4b88-8bb0-2dc8990be539 <null> 83
+PartsSupplier SYS KeyColumns KeyType 6 <null> string 0 20 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:df9e15e6-ab77-!
486d-bfe0-0adc378aa99d <null> 84
+PartsSupplier SYS Columns Length 9 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:b36ea0f6-cbff-!
4049-bc9c-8ec9928be048 <null> 37
+PartsSupplier SYSADMIN MatViews LoadState 7 <null> string 0 255 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:c67365c3-f252-!
40f4-aae6-8971d3b1b153 <null> 24
+PartsSupplier SYS Columns MaxRange 19 <null> string 0 50 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:0b0df4a5-7de5-!
4315-94f7-22c84958302e <null> 47
+PartsSupplier SYS Columns MinRange 18 <null> string 0 50 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:dba0f97d-fab5-!
45f6-a1eb-3459ab3fcc74 <null> 46
+PartsSupplier SYSADMIN MatViews Name 3 <null> string 0 255 false true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:0f56d35c-e450-!
4b4f-86b0-bdb4f1015c57 <null> 20
+PartsSupplier SYS Columns Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:d1f44a6d-3e39-!
4251-b873-1280c2b035b3 <null> 32
+PartsSupplier SYS DataTypes Name 1 <null> string 0 100 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 100 100 10 mmuuid:17f7de33-e6f0-!
4b9c-b55e-a87f6b7bb9b3 <null> 60
+PartsSupplier SYS KeyColumns Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:08bda0c7-5f66-!
4fed-8285-d74b63eeb0e2 <null> 82
+PartsSupplier SYS Keys Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:149de302-2107-!
45ca-839d-fc0dd1e7d7f4 <null> 92
+PartsSupplier SYS ProcedureParams Name 4 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:2bf20c6f-5a95-!
436d-8f30-a24d164e77a4 <null> 103
+PartsSupplier SYS Procedures Name 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:bd17e98a-c40a-!
43b1-93ac-88d62937c051 <null> 118
+PartsSupplier SYS Properties Name 1 <null> string 0 255 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ba007c56-04b6-!
4981-ab89-3fdd33ff0de8 <null> 124
+PartsSupplier SYS Schemas Name 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:654112f8-bb4c-!
4453-9e4d-f3a96fba61ec <null> 143
+PartsSupplier SYS Tables Name 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ef487cc2-1214-!
439c-af6e-da431df00d2c <null> 151
+PartsSupplier SYS VirtualDatabases Name 1 <null> string 0 255 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:42fa1249-8b24-!
4aae-a252-0a347db6ec30 <null> 162
+PartsSupplier SYS Columns NameInSource 6 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:fac72c6e-41dc-!
4a1b-8af3-f0796690d9cc <null> 34
+PartsSupplier SYS Keys NameInSource 6 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a52a6169-99e0-!
4b7e-9dc6-3a93ffa6094a <null> 94
+PartsSupplier SYS Procedures NameInSource 4 <null> string 0 255 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:a4e7a0fd-c340-!
49a9-9ac0-8328caaffda8 <null> 119
+PartsSupplier SYS Tables NameInSource 5 <null> string 0 255 true true false true false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1f036fb0-b841-!
450c-8462-986cdd57e921 <null> 153
+PartsSupplier SYS Columns NullCount 21 <null> integer 0 10 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 10 10 mmuuid:d00d1104-40ba-!
40be-b684-4c0c803615f8 <null> 49
+PartsSupplier SYS Columns NullType 17 <null> string 0 20 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:4d83bdbb-a7ce-!
44cc-a201-021a517d3c1a <null> 45
+PartsSupplier SYS DataTypes NullType 8 <null> string 0 20 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:278b0534-1164-!
495e-a8c6-de45e0ff53a4 <null> 67
+PartsSupplier SYS ProcedureParams NullType 13 <null> string 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 10 10 10 mmuuid:d887c203-6bf5-!
462b-b2f0-f5302e2f4bcd <null> 112
+PartsSupplier SYS Columns OID 31 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:b9e5ba07-4a8d-!
4589-8aa9-597ae70d18a4 <null> 59
+PartsSupplier SYS DataTypes OID 19 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:a3c41050-80b6-!
4fb5-9c6b-5e20c0839cda <null> 78
+PartsSupplier SYS KeyColumns OID 10 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:207d123c-a3ff-!
4e4e-85ae-6f3b0debfc06 <null> 88
+PartsSupplier SYS Keys OID 11 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:d781f893-bdf3-!
4dc1-956f-7e7b1a138c99 <null> 99
+PartsSupplier SYS ProcedureParams OID 16 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:72125f93-846f-!
413c-82e1-fa3227fb043f <null> 115
+PartsSupplier SYS Procedures OID 8 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:c80c02d2-7174-!
4cc4-b347-e921a80f568c <null> 123
+PartsSupplier SYS Properties OID 4 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:54c1a7dc-5ca8-!
4d34-8672-e76d63fe3b95 <null> 127
+PartsSupplier SYS Schemas OID 7 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:31746839-e019-!
4321-90cb-a557e1d4754e <null> 148
+PartsSupplier SYS Tables OID 13 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:dae79c58-b381-!
4275-8c1c-b299d732d355 <null> 161
+PartsSupplier SYS ProcedureParams Optional 8 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:4033f891-5ef5-!
4a75-8a50-bd1d021e43ad <null> 107
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_COLOR 3 PART_COLOR string 0 30 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 30 10 mmuuid:015c0d00-73ff-!
1edc-a81c-ecf397b10590 <null> 3
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_ID 1 PART_ID string 0 4 true true true true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 4 10 mmuuid:fadcd7c0-73fe-!
1edc-a81c-ecf397b10590 <null> 1
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS PART_ID 2 PART_ID string 0 4 true true true true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 4 10 mmuuid:3fc400c0-73ff-!
1edc-a81c-ecf397b10590 <null> 10
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_NAME 2 PART_NAME string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:0067e900-73ff-!
1edc-a81c-ecf397b10590 <null> 2
+PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS PART_WEIGHT 4 PART_WEIGHT string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:015c0d01-73ff-!
1edc-a81c-ecf397b10590 <null> 4
+PartsSupplier SYS ReferenceKeyColumns PKCOLUMN_NAME 4 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:0125a80a-95f9-!
486f-aa90-debb21cb5f1b <null> 131
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_CAT 1 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 1 255 10 mmuuid:f615a661-2c36-!
4ab1-b72b-5e13e99e052c <null> 128
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_NAME 3 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:6d420bc2-0f85-!
4da9-833d-d71b428b0743 <null> 130
+PartsSupplier SYS ReferenceKeyColumns PKTABLE_SCHEM 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ef7b3b79-fb51-!
42ef-a723-080ed0a6e3bc <null> 129
+PartsSupplier SYS ReferenceKeyColumns PK_NAME 13 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:ac210a6d-4de6-!
4d71-aa9b-e3d34baca81a <null> 140
+PartsSupplier SYS Columns Position 5 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:dbc8cd09-1b47-!
43c5-82ec-aba525b85cc4 <null> 33
+PartsSupplier SYS KeyColumns Position 9 <null> integer 0 10 true true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:92a4849c-ed0e-!
4f5f-a108-d7d71a5aba25 <null> 87
+PartsSupplier SYS ProcedureParams Position 6 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:5fdefd17-65f4-!
4350-9ee0-0ed3c34d10ae <null> 105
+PartsSupplier SYS Columns Precision 26 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:db3d49e2-fe1d-!
438b-8d07-847bf58506ab <null> 54
+PartsSupplier SYS DataTypes Precision 12 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:8673c810-7162-!
4331-ba0b-6fc3530d2d1c <null> 71
+PartsSupplier SYS ProcedureParams Precision 9 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:00fe7cad-0a83-!
42f0-90f2-d6a9584916b2 <null> 108
+PartsSupplier SYS Schemas PrimaryMetamodelURI 6 <null> string 0 255 false true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:eadfaba5-ce44-!
4529-816f-6af94666baec <null> 147
+PartsSupplier SYS ProcedureParams ProcedureName 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:8081b3a6-fc79-!
42fd-b7c9-a19d682a1658 <null> 102
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS QUANTITY 3 QUANTITY short 0 0 true true true false true false false Nullable <null> <null> -1 -1 All Except Like <null> <null> java.lang.Short 3 0 10 mmuuid:3fc400c1-73ff-!
1edc-a81c-ecf397b10590 <null> 11
+PartsSupplier SYS Columns Radix 28 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:43a6124c-972f-!
4c4c-af05-24080c2a8ad7 <null> 56
+PartsSupplier SYS DataTypes Radix 13 <null> integer 0 10 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:967ab8fd-3226-!
4a78-8cf2-2eb7fbf2981a <null> 72
+PartsSupplier SYS ProcedureParams Radix 12 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:8df37c99-3b12-!
4789-8128-4aa496f895c4 <null> 111
+PartsSupplier SYS KeyColumns RefKeyUID 7 <null> string 0 50 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:aafbdf50-25aa-!
427b-b322-7cb36094a1e2 <null> 85
+PartsSupplier SYS Keys RefKeyUID 9 <null> string 0 50 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:1cf4c5ad-5932-!
47ec-8593-385b75bfeba8 <null> 97
+PartsSupplier SYS Procedures ReturnsResults 5 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:b01164c8-dd10-!
410d-a91b-fcb2fc0450ce <null> 120
+PartsSupplier SYS DataTypes RuntimeType 16 <null> string 0 64 true true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 64 64 10 mmuuid:3c7bc9d0-b73f-!
49a0-b9ab-dc97a4d2a124 <null> 75
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_ID 1 SHIPPER_ID short 0 0 true true true false true false false No Nulls <null> <null> -1 -1 All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:121bc540-73ff-!
1edc-a81c-ecf397b10590 <null> 5
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SHIPPER_ID 4 SHIPPER_ID short 0 0 true true true false true false false Nullable <null> <null> -1 -1 All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:3fc400c2-73ff-!
1edc-a81c-ecf397b10590 <null> 12
+PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA SHIPPER_NAME 2 SHIPPER_NAME string 0 30 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 30 10 mmuuid:130fe940-73ff-!
1edc-a81c-ecf397b10590 <null> 6
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_ID 1 STATUS_ID short 0 0 true true true false true false false No Nulls <null> <null> -1 -1 All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:201d9600-73ff-!
1edc-a81c-ecf397b10590 <null> 7
+PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS STATUS_NAME 2 STATUS_NAME string 0 30 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 30 10 mmuuid:201d9601-73ff-!
1edc-a81c-ecf397b10590 <null> 8
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_CITY 4 SUPPLIER_CITY string 0 30 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 30 10 mmuuid:2fe92a40-73ff-!
1edc-a81c-ecf397b10590 <null> 16
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS SUPPLIER_ID 1 SUPPLIER_ID string 0 10 false true true true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 10 10 mmuuid:3ecfdcc0-73ff-!
1edc-a81c-ecf397b10590 <null> 9
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_ID 1 SUPPLIER_ID string 0 10 false true true true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 10 10 mmuuid:2f044880-73ff-!
1edc-a81c-ecf397b10590 <null> 13
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_NAME 2 SUPPLIER_NAME string 0 30 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 30 10 mmuuid:2f044881-73ff-!
1edc-a81c-ecf397b10590 <null> 14
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATE 5 SUPPLIER_STATE string 0 2 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 2 10 mmuuid:2fe92a41-73ff-!
1edc-a81c-ecf397b10590 <null> 17
+PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER SUPPLIER_STATUS 3 SUPPLIER_STATUS short 0 0 true true true false true false false Nullable <null> <null> -1 -1 All Except Like <null> <null> java.lang.Short 2 0 10 mmuuid:2f044882-73ff-!
1edc-a81c-ecf397b10590 <null> 15
+PartsSupplier SYS Columns Scale 8 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:cc6c6113-8d70-!
40c8-84c0-94e17c14e22e <null> 36
+PartsSupplier SYS DataTypes Scale 6 <null> integer 0 10 true true false false false false false Nullable <null> <null> -1 -1 Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:e8655204-e97a-!
45cd-909b-1e37731e9546 <null> 65
+PartsSupplier SYS ProcedureParams Scale 11 <null> integer 0 10 true true true false false false false No Nulls <null> <null> -1 -1 Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:360c8b1d-4b3d-!
42fd-952c-bf5763cad69e <null> 110
+PartsSupplier SYSADMIN MatViews SchemaName 2 <null> string 0 255 false true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:2738c484-d24d-!
4c40-b0b7-e734afb03450 <null> 19
+PartsSupplier SYS Columns SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:859288c9-cd78-!
4407-90fc-61b5d310e2ab <null> 30
+PartsSupplier SYS KeyColumns SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:787be966-cf12-!
4956-907f-a8e6dc1009dc <null> 80
+PartsSupplier SYS Keys SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:4a7fc059-208e-!
4f98-b6ef-cb7c6102a327 <null> 90
+PartsSupplier SYS ProcedureParams SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:88497911-619c-!
4ca8-b482-8885d940706a <null> 101
+PartsSupplier SYS Procedures SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:53a84865-334e-!
4750-b343-de2411d56e3e <null> 117
+PartsSupplier SYS Tables SchemaName 2 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:95bd960c-fd84-!
44c9-9831-692376f69b46 <null> 150
+PartsSupplier SYS Columns SearchType 22 <null> string 0 20 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:3037138a-bb20-!
4485-ba01-75bc20b1a532 <null> 50
+PartsSupplier SYS DataTypes SearchType 14 <null> string 0 20 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:d8494fa3-40e4-!
44cd-b0d8-da5c83685a75 <null> 73
+PartsSupplier SYS Columns SupportsSelect 11 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:c2a50f93-0040-!
41ec-ad7b-e8511296555f <null> 39
+PartsSupplier SYS Columns SupportsUpdates 12 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:fab660d1-36bf-!
4a5b-bbe6-9a543e0ebd76 <null> 40
+PartsSupplier SYS Tables SupportsUpdates 7 <null> boolean 0 1 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 1 1 10 mmuuid:5144d230-2b0e-!
4255-b321-65b9f6f6f76c <null> 155
+PartsSupplier SYS Columns TableName 3 <null> string 0 255 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:2c09c9d1-2f25-!
45de-81cf-eeb2a5157d34 <null> 31
+PartsSupplier SYS KeyColumns TableName 3 <null> string 0 2048 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 2048 2048 10 mmuuid:c24fad72-0c0d-!
4260-96ae-f188ad77b137 <null> 81
+PartsSupplier SYS Keys TableName 3 <null> string 0 2048 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 2048 2048 10 mmuuid:7d9540bd-b51f-!
4206-8c33-b39c5ba8bb8b <null> 91
+PartsSupplier SYSADMIN MatViews TargetName 5 <null> string 0 4000 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 4000 10 mmuuid:d2831595-d6f5-!
4cca-aa5d-2ff2530d0ab1 <null> 22
+PartsSupplier SYSADMIN MatViews TargetSchemaName 4 <null> string 0 255 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:a95dba1c-283e-!
4f48-9671-34cecdb7d0e3 <null> 21
+PartsSupplier SYS Keys Type 7 <null> string 0 20 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:29e73c18-afec-!
43a9-81ab-7378d6daf20b <null> 95
+PartsSupplier SYS ProcedureParams Type 7 <null> string 0 100 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 100 100 10 mmuuid:76a1981b-1226-!
4a55-9acf-82a061cc8642 <null> 106
+PartsSupplier SYS Tables Type 4 <null> string 0 20 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 20 20 10 mmuuid:4814a0af-4e8f-!
4f55-9b25-3148d90d3d9b <null> 152
+PartsSupplier SYS DataTypes TypeLength 7 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:0668382a-f9c3-!
4507-8b0f-df65a2ebbf2f <null> 66
+PartsSupplier SYS ProcedureParams TypeLength 10 <null> integer 0 10 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> (0) java.lang.Integer 10 10 10 mmuuid:791d7a29-8fc5-!
4735-9144-1accc114b58e <null> 109
+PartsSupplier SYS DataTypes TypeName 4 <null> string 0 100 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 100 100 10 mmuuid:48081cdd-9e90-!
4440-a956-4a32af96d7f4 <null> 63
+PartsSupplier SYS Columns UID 29 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:5f491c75-769b-!
4908-9f68-2a9a486607bb <null> 57
+PartsSupplier SYS DataTypes UID 15 <null> string 0 50 true true false false true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:dd57f577-ffc4-!
4b55-8f7f-355b9ea3ce37 <null> 74
+PartsSupplier SYS KeyColumns UID 8 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:0d994a45-4f52-!
4b79-9b31-7ef22331fee2 <null> 86
+PartsSupplier SYS Keys UID 10 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:782218d1-5337-!
48c6-9070-0aafd4c6cd20 <null> 98
+PartsSupplier SYS ProcedureParams UID 14 <null> string 0 50 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 50 10 mmuuid:a278de2e-89f1-!
4281-9e63-54aebb6062ce <null> 113
+PartsSupplier SYS Procedures UID 6 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:de9df25a-c886-!
46e0-ae3a-8eb6792e43f4 <null> 121
+PartsSupplier SYS Properties UID 3 <null> string 0 50 true true false false true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:b333969a-83e0-!
4010-9463-9a0088da6c83 <null> 126
+PartsSupplier SYS Schemas UID 4 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:ad232e4d-9c01-!
4d0c-bc57-0459d9db918a <null> 145
+PartsSupplier SYS Tables UID 8 <null> string 0 50 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:6afe3737-26f9-!
43a8-88db-86531b5dc66c <null> 156
+PartsSupplier SYS ReferenceKeyColumns UPDATE_RULE 10 <null> integer 0 10 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 10 10 10 mmuuid:30d5ae74-b19e-!
4186-97e1-aeff5801e44f <null> 137
+PartsSupplier SYSADMIN MatViews Updated 8 <null> timestamp 0 0 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.sql.Timestamp 0 0 10 mmuuid:33970a66-7ad4-!
411f-a6c4-545746747fe6 <null> 25
+PartsSupplier SYSADMIN MatViews VDBName 1 <null> string 0 255 false true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:c1ce9841-e272-!
4839-8c78-777a5f68d241 <null> 18
+PartsSupplier SYS Columns VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:83f19a81-1243-!
4751-8c99-daddbf37b1d7 <null> 29
+PartsSupplier SYS KeyColumns VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f062eb9c-4854-!
47fb-b7bd-a4e23c782b62 <null> 79
+PartsSupplier SYS Keys VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:5785b523-7da3-!
42c1-8920-66daa1f7fa1d <null> 89
+PartsSupplier SYS ProcedureParams VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:f832f316-2403-!
43fa-9ccc-c3ab9d38acca <null> 100
+PartsSupplier SYS Procedures VDBName 1 <null> string 0 255 true true false false false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:1d664747-4a95-!
4605-8b28-381bed3121f1 <null> 116
+PartsSupplier SYS Schemas VDBName 1 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:73dbf95b-a283-!
4f0a-81b9-9b98e09c2906 <null> 142
+PartsSupplier SYS Tables VDBName 1 <null> string 0 255 false true true true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:58de905f-9d64-!
4831-a985-da6d082ff709 <null> 149
+PartsSupplier SYSADMIN MatViews Valid 6 <null> boolean 0 0 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 10 mmuuid:13098912-bce2-!
4842-9ea9-b162fcd7383e <null> 23
+PartsSupplier SYS Properties Value 2 <null> string 0 255 true true false true true false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 255 255 10 mmuuid:c917257d-06b7-!
41dd-a6cb-44c0ff0f897e <null> 125
+PartsSupplier SYS VirtualDatabases Version 2 <null> string 0 50 true true false true false false false No Nulls <null> <null> -1 -1 Searchable <null> <null> java.lang.String 50 50 10 mmuuid:c876d749-a512-!
4810-9910-3034ca524c45 <null> 163
+PartsSupplier pg_catalog pg_attrdef adbin 3 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:e22c521a-e208-4!
181-9dbd-89f5de7014b9 <null> 225
+PartsSupplier pg_catalog pg_attrdef adnum 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e9b278d4-49af-4!
42f-9a5a-b699fe3b102b <null> 224
+PartsSupplier pg_catalog pg_attrdef adrelid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:4589389f-4abd-4!
2a6-818f-ff1f2a085dfb <null> 223
+PartsSupplier pg_catalog pg_attrdef adsrc 4 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:492dd834-907f-4!
29b-aa6e-958ad65204c6 <null> 226
+PartsSupplier pg_catalog pg_am amname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:da4b747e-7d87-4!
03a-8309-2cdf1399031b <null> 203
+PartsSupplier pg_catalog pg_attribute atthasdef 10 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:5868e549-4bbe-4!
79e-bc7e-632c05cc2329 <null> 184
+PartsSupplier pg_catalog pg_attribute attisdropped 9 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:7beb42a9-dfe6-4!
3de-98b6-7e8948b1a666 <null> 183
+PartsSupplier pg_catalog pg_attribute attlen 5 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:d1214249-95cd-4!
26f-b8f6-4bf68c0504c7 <null> 179
+PartsSupplier pg_catalog pg_attribute attname 3 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:6064d149-4102-4!
c2d-9132-582342f25e90 <null> 177
+PartsSupplier pg_catalog matpg_relatt attname 3 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:5cfb2b62-a912-4!
bfb-bf4f-51e107fe210c <null> 242
+PartsSupplier pg_catalog pg_attribute attnotnull 8 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:91ce8bde-8570-4!
867-be17-80acfa9275a6 <null> 182
+PartsSupplier pg_catalog pg_attribute attnum 6 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:141fd911-f2dd-4!
edd-8f08-ad8a67ffd0fb <null> 180
+PartsSupplier pg_catalog matpg_relatt attnum 2 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:0b0894ba-e1ea-4!
eaf-bcd2-ea9ebd05e47d <null> 241
+PartsSupplier pg_catalog pg_attribute attrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3be6b5de-2287-4!
279-93f3-4f5064799118 <null> 176
+PartsSupplier pg_catalog matpg_relatt attrelid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:5c7bf056-ecc5-4!
1ea-a122-7a4b1de9908a <null> 240
+PartsSupplier pg_catalog pg_attribute atttypid 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:99782493-1cce-4!
e14-9c1b-4de7ce50e2c8 <null> 178
+PartsSupplier pg_catalog pg_attribute atttypmod 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:2e2bae3c-ab93-4!
9f5-b96c-7a7b9d66782d <null> 181
+PartsSupplier pg_catalog matpg_relatt autoinc 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:23454408-0347-4!
0d2-a3f9-3faa664fb5e9 <null> 245
+PartsSupplier SYSADMIN VDBResources contents 2 <null> blob 0 0 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> org.teiid.core.types.BlobType 0 0 10 mmuuid:f9421669-3564-!
451d-9293-96c1e5e72c4f <null> 28
+PartsSupplier pg_catalog pg_database datacl 7 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:8b993c11-de2b-4!
8bc-beb1-3e44c46811b4 <null> 233
+PartsSupplier pg_catalog pg_database datallowconn 5 <null> char 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Character 0 0 0 mmuid:5c9d54b2-433f-4!
43a-85ce-821f42ed109e <null> 231
+PartsSupplier pg_catalog pg_database datconfig 6 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:4b5beb14-03a0-4!
652-9d6f-5f8cc74d470c <null> 232
+PartsSupplier pg_catalog pg_database datdba 8 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:36db343d-e99a-4!
27c-a4e2-763a720ce4a4 <null> 234
+PartsSupplier pg_catalog pg_database datlastsysoid 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c2bdf40c-ec58-4!
39c-a403-7adf604ceadd <null> 230
+PartsSupplier pg_catalog pg_database datname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:1aedd02c-5801-4!
1e7-accd-da1f257c26e8 <null> 228
+PartsSupplier pg_catalog pg_database dattablespace 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:28d034eb-6f39-4!
02f-b642-9c9560e57247 <null> 235
+PartsSupplier pg_catalog pg_database encoding 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3b621b25-171c-4!
05b-8bf9-635cf93f2273 <null> 229
+PartsSupplier pg_catalog pg_index indexprs 7 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:1e6dbecd-9a2d-4!
aef-afbe-665de7acb9d6 <null> 200
+PartsSupplier pg_catalog pg_index indexrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:8709e084-48df-4!
17d-b3f8-f4e9b7d8802b <null> 195
+PartsSupplier pg_catalog pg_index indisclustered 4 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9f873e0f-903d-4!
c9d-8c37-1073b5ec4c67 <null> 197
+PartsSupplier pg_catalog pg_index indisprimary 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9ea3b6d2-b27b-4!
bb1-a99d-b703c3308384 <null> 199
+PartsSupplier pg_catalog pg_index indisunique 5 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:a52c714d-dfe9-4!
06c-906b-fadd53ac4e98 <null> 198
+PartsSupplier pg_catalog pg_index indkey 8 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:347ec08c-6b41-4!
1d0-8475-031ce7d99ac0 <null> 201
+PartsSupplier pg_catalog pg_index indrelid 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:16998907-e1dd-4!
47e-898d-780994d30619 <null> 196
+PartsSupplier pg_catalog matpg_datatype name 3 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:b4e04928-9a59-4!
718-a7f1-3a60bcae7449 <null> 249
+PartsSupplier pg_catalog pg_namespace nspname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:0e513513-b35a-4!
8be-975d-5dbed6ace7e9 <null> 165
+PartsSupplier pg_catalog matpg_relatt nspname 5 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:f1998229-2c1a-4!
7b7-8f46-9dda81446db6 <null> 244
+PartsSupplier pg_catalog pg_namespace oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:688e5112-4083-4!
b67-b42c-62d9a614c59a <null> 164
+PartsSupplier pg_catalog pg_class oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c1e736ac-c9d4-4!
026-8904-23c90e6eb1c0 <null> 166
+PartsSupplier pg_catalog pg_attribute oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:f735e545-a81c-4!
ee2-84d0-3ea35d4083a2 <null> 175
+PartsSupplier pg_catalog pg_type oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:b6f64d16-b147-4!
59d-8e84-1bd3048fb900 <null> 185
+PartsSupplier pg_catalog pg_index oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:83ae2247-7eec-4!
59f-b037-ffd3cdca0627 <null> 194
+PartsSupplier pg_catalog pg_am oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:3c67619c-7d8f-4!
378-b7e9-84a0451ea5e5 <null> 202
+PartsSupplier pg_catalog pg_proc oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bdf3ee1e-b5b7-4!
8ab-b43c-4bbb2c8ae1e2 <null> 204
+PartsSupplier pg_catalog pg_trigger oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:635b6634-632c-4!
3c9-8cc7-bcaa016133e8 <null> 214
+PartsSupplier pg_catalog pg_database oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:689cde3b-a631-4!
f25-94b4-ff2ffe022b0f <null> 227
+PartsSupplier pg_catalog pg_user oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bb78401d-d10c-4!
3b1-af84-e4fa6b95db42 <null> 236
+PartsSupplier pg_catalog matpg_datatype oid 1 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:053375a4-3971-4!
705-9146-9ecc640022c2 <null> 247
+PartsSupplier pg_catalog pg_proc proallargtypes 9 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:a385751f-a31a-4!
d5d-9197-3fbd390b0251 <null> 212
+PartsSupplier pg_catalog pg_proc proargmodes 8 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:bcbed548-176c-4!
116-a5d6-7638cb0206e1 <null> 211
+PartsSupplier pg_catalog pg_proc proargnames 7 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:d9f36bdc-7b25-4!
af0-b9f5-a96aac6d3094 <null> 210
+PartsSupplier pg_catalog pg_proc proargtypes 6 <null> object 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Object 0 0 0 mmuid:ffa4ac73-b549-4!
70e-931f-dc36330cb8c4 <null> 209
+PartsSupplier pg_catalog pg_proc proname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:b288b3aa-37f2-4!
a8e-8b1b-e932a2ce3e25 <null> 205
+PartsSupplier pg_catalog pg_proc pronamespace 10 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e5715456-245f-4!
846-b90b-01d06d1c3672 <null> 213
+PartsSupplier pg_catalog pg_proc pronargs 5 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:6796c2e7-48a4-4!
f9f-bc98-d47913e2491c <null> 208
+PartsSupplier pg_catalog pg_proc proretset 3 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:e0244e1d-431c-4!
1fa-8194-1e357e2b688b <null> 206
+PartsSupplier pg_catalog pg_proc prorettype 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:9fb5a34a-3a7e-4!
d38-b7cd-239f28a3504e <null> 207
+PartsSupplier pg_catalog pg_class relam 5 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:c2f92b1a-6ba0-4!
486-8936-f5185d926178 <null> 170
+PartsSupplier pg_catalog pg_class relhasoids 9 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:3ac5a14a-1f9e-4!
55b-8ea1-cf0878774fd7 <null> 174
+PartsSupplier pg_catalog pg_class relhasrules 8 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:6c26fd66-2a4a-4!
ccf-949a-a06a858db7f6 <null> 173
+PartsSupplier pg_catalog pg_class relkind 4 <null> char 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Character 0 0 0 mmuid:ef4359eb-6d51-4!
249-bfea-40bc0f407d10 <null> 169
+PartsSupplier pg_catalog pg_class relname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:5f9b50fa-8188-4!
048-93c2-3ad1587915df <null> 167
+PartsSupplier pg_catalog matpg_relatt relname 4 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:ffbf69c1-2e34-4!
764-a9b3-9a1b61bfd4af <null> 243
+PartsSupplier pg_catalog pg_class relnamespace 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:4591ef08-bff8-4!
f3b-9de7-420f9c7f9d2b <null> 168
+PartsSupplier pg_catalog pg_class relpages 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:44dee7d6-b6ae-4!
4c7-85f2-e87364d8d059 <null> 172
+PartsSupplier pg_catalog pg_class reltuples 6 <null> float 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Float 0 0 0 mmuid:b9ed4b49-5a7b-4!
ba4-863a-37fd95b2a34c <null> 171
+PartsSupplier SYSADMIN VDBResources resourcePath 1 <null> string 0 255 false true false true true false false Nullable <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 255 10 mmuuid:b1bc5150-3dcc-!
452e-9e75-4a506997f612 <null> 27
+PartsSupplier pg_catalog pg_trigger tgargs 4 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:0c20dbe7-5d89-4!
11f-a8ab-3d77b999595b <null> 217
+PartsSupplier pg_catalog pg_trigger tgconstrname 8 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:c010d12f-2074-4!
5db-8e18-979cee2c45da <null> 221
+PartsSupplier pg_catalog pg_trigger tgconstrrelid 2 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:64977f3e-f2a0-4!
66e-a5d1-80bb058cbe08 <null> 215
+PartsSupplier pg_catalog pg_trigger tgdeferrable 6 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:bfbff036-caf2-4!
652-80cf-398af17ed7d1 <null> 219
+PartsSupplier pg_catalog pg_trigger tgfoid 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:250d7c06-728a-4!
b2a-b557-91f2a69bb184 <null> 216
+PartsSupplier pg_catalog pg_trigger tginitdeferred 7 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:da4b59ca-ebff-4!
5a8-ad68-9777bc587813 <null> 220
+PartsSupplier pg_catalog pg_trigger tgnargs 5 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:d70f020b-658c-4!
f58-86dc-0fbb12e2d8af <null> 218
+PartsSupplier pg_catalog pg_trigger tgrelid 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:71091853-c65e-4!
6a9-9947-aa024f806e2d <null> 222
+PartsSupplier pg_catalog pg_type typbasetype 6 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:a17d2f61-cd68-4!
c0d-8d25-132f68eb3b67 <null> 190
+PartsSupplier pg_catalog pg_type typelem 9 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:22ac431d-e6e6-4!
eef-9d74-b31795424e97 <null> 193
+PartsSupplier pg_catalog pg_type typlen 4 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:931c09e1-937a-4!
37e-aab2-2360f8d90e2b <null> 188
+PartsSupplier pg_catalog matpg_datatype typlen 5 <null> short 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Short 0 0 0 mmuid:0e9c4439-48d0-4!
115-a343-5baab7a236b6 <null> 251
+PartsSupplier pg_catalog pg_type typname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:d600d818-2aad-4!
c92-9343-267d044dd97d <null> 186
+PartsSupplier pg_catalog matpg_datatype typname 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:0f312b3c-98ca-4!
a09-81fa-f1ff83f0a6c1 <null> 248
+PartsSupplier pg_catalog pg_type typnamespace 3 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:e47217d2-2b07-4!
353-bfbd-d7c883a5e7e0 <null> 187
+PartsSupplier pg_catalog matpg_relatt typoid 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:595a823f-cec1-4!
2dc-b8b2-c95c8b4e4e66 <null> 246
+PartsSupplier pg_catalog pg_type typrelid 8 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:bec25882-b292-4!
ed1-a610-cad5d504837d <null> 192
+PartsSupplier pg_catalog pg_type typtype 5 <null> char 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Character 0 0 0 mmuid:83199eba-7af4-4!
4a9-822f-006677b1b895 <null> 189
+PartsSupplier pg_catalog pg_type typtypmod 7 <null> integer 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Integer 0 0 0 mmuid:cee3559d-1ce6-4!
b17-ad57-2ecb79a9e1d2 <null> 191
+PartsSupplier pg_catalog matpg_datatype uid 4 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:87826ebc-98a5-4!
f19-a6d8-6b7b96cbed48 <null> 250
+PartsSupplier pg_catalog pg_user usecreatedb 3 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:6da98878-b46e-4!
ed1-b032-1bc72da595f4 <null> 238
+PartsSupplier pg_catalog pg_user usename 2 <null> string 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.String 0 0 0 mmuid:236445e1-408c-4!
0a1-a61c-40e96fb5dc9f <null> 237
+PartsSupplier pg_catalog pg_user usesuper 4 <null> boolean 0 0 false true false false false false false Unknown <null> <null> -1 -1 Searchable <null> <null> java.lang.Boolean 0 0 0 mmuid:9bfddc66-af75-4!
366-8eac-b9fef3421219 <null> 239
+Row Count : 251
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String VDBName string SYS Columns 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String SchemaName string SYS Columns 255 255 0 false true false true 1 false true true true
@@ -270,6 +272,8 @@
NullType 12 PartsSupplier java.lang.String NullType string SYS Columns 20 20 0 false true false false 0 true true false false
MinRange 12 PartsSupplier java.lang.String MinRange string SYS Columns 50 50 0 false false false false 1 true true false false
MaxRange 12 PartsSupplier java.lang.String MaxRange string SYS Columns 50 50 0 false false false false 1 true true false false
+DistinctCount 4 PartsSupplier java.lang.Integer DistinctCount integer SYS Columns 11 10 0 false true false true 1 false true true true
+NullCount 4 PartsSupplier java.lang.Integer NullCount integer SYS Columns 11 10 0 false true false true 1 false true true true
SearchType 12 PartsSupplier java.lang.String SearchType string SYS Columns 20 20 0 false false false false 0 true true false false
Format 12 PartsSupplier java.lang.String Format string SYS Columns 255 255 0 false false false false 1 true true false false
DefaultValue 12 PartsSupplier java.lang.String DefaultValue string SYS Columns 255 255 0 false false false false 1 true true false false
Modified: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -6,9 +6,17 @@
PartsSupplier SYSADMIN refreshMatView RowsUpdated integer 3 ReturnValue false 0 0 0 10 No Nulls mmuuid:d07a6a75-aa12-4dac-8eab-b2acdbaaffd8 <null> 6
PartsSupplier SYSADMIN refreshMatViewRow ViewName string 1 In false 0 0 0 10 No Nulls mmuuid:ba635c44-a052-496d-9c35-ca010c0ebebe <null> 1
PartsSupplier SYSADMIN refreshMatView ViewName string 1 In false 0 0 0 10 No Nulls mmuuid:e0c28e00-d987-48e4-8c60-5f637f10bf33 <null> 4
-PartsSupplier SYS getXMLSchemas document string 1 In false 0 0 0 10 No Nulls mmuuid:85b88af5-f0b8-401f-b35a-ccee56155492 <null> 7
-PartsSupplier SYS getXMLSchemas schema xml 1 ResultSet false 0 0 0 10 Nullable mmuuid:003980bb-38bb-41ad-b8c2-c87ca47aa554 <null> 8
-Row Count : 8
+PartsSupplier SYSADMIN setTableStats cardinality integer 2 In false 0 0 0 10 No Nulls mmuuid:0aba7849-7fd3-4bc6-a3d3-dfe433bc67a4 <null> 14
+PartsSupplier SYSADMIN setColumnStats columnName string 2 In false 0 0 0 10 No Nulls mmuuid:76553706-632f-4e60-8489-9d0361f58541 <null> 8
+PartsSupplier SYSADMIN setColumnStats distinctCount integer 3 In false 0 0 0 10 Nullable mmuuid:2c61976e-abb5-4c74-bdae-278681b82aa3 <null> 9
+PartsSupplier SYS getXMLSchemas document string 1 In false 0 0 0 10 No Nulls mmuuid:85b88af5-f0b8-401f-b35a-ccee56155492 <null> 15
+PartsSupplier SYSADMIN setColumnStats max string 5 In false 0 0 0 10 Nullable mmuuid:8f42e701-3609-413d-8c10-77e32cd816f2 <null> 11
+PartsSupplier SYSADMIN setColumnStats min string 6 In false 0 0 0 10 Nullable mmuuid:4511ea3f-f2d2-4abf-b363-afb5186bc2d2 <null> 12
+PartsSupplier SYSADMIN setColumnStats nullCount integer 4 In false 0 0 0 10 Nullable mmuuid:44b8c83c-9fcd-4bd2-a730-76e401205536 <null> 10
+PartsSupplier SYS getXMLSchemas schema xml 1 ResultSet false 0 0 0 10 Nullable mmuuid:003980bb-38bb-41ad-b8c2-c87ca47aa554 <null> 16
+PartsSupplier SYSADMIN setColumnStats tableName string 1 In false 0 0 0 10 No Nulls mmuuid:4dcab018-ca4a-467b-96cc-7f28734c840e <null> 7
+PartsSupplier SYSADMIN setTableStats tableName string 1 In false 0 0 0 10 No Nulls mmuuid:28d8ad4a-e091-4934-afd9-7d27310bd370 <null> 13
+Row Count : 16
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String VDBName string SYS ProcedureParams 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String SchemaName string SYS ProcedureParams 255 255 0 false true false true 1 false true true true
Modified: trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected 2011-04-27 19:38:39 UTC (rev 3125)
+++ trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected 2011-04-28 02:55:13 UTC (rev 3126)
@@ -1,9 +1,11 @@
string string string string boolean string string integer
VDBName SchemaName Name NameInSource ReturnsResults UID Description OID
-PartsSupplier SYS getXMLSchemas <null> true mmuuid:68497bd9-30f5-461b-bf13-6b26aeb2fc4f <null> 3
+PartsSupplier SYS getXMLSchemas <null> true mmuuid:68497bd9-30f5-461b-bf13-6b26aeb2fc4f <null> 5
PartsSupplier SYSADMIN refreshMatView <null> false mmuuid:52178344-dca8-4c76-8549-00a4515c7044 <null> 2
PartsSupplier SYSADMIN refreshMatViewRow <null> false mmuuid:1674912b-af56-465a-a1b9-d1de8b761f10 <null> 1
-Row Count : 3
+PartsSupplier SYSADMIN setColumnStats <null> false mmuuid:49c367be-918f-43be-8b9e-99e275179859 <null> 3
+PartsSupplier SYSADMIN setTableStats <null> false mmuuid:6d167c35-04d1-41f6-83ff-888c39423823 <null> 4
+Row Count : 5
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String VDBName string SYS Procedures 255 255 0 false false false false 0 true true false false
SchemaName 12 PartsSupplier java.lang.String SchemaName string SYS Procedures 255 255 0 false true false true 1 false true true true
Added: trunk/test-integration/common/src/test/resources/metadata.vdb
===================================================================
(Binary files differ)
Property changes on: trunk/test-integration/common/src/test/resources/metadata.vdb
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream