Author: rareddy
Date: 2010-07-16 15:10:00 -0400 (Fri, 16 Jul 2010)
New Revision: 2354
Added:
trunk/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
trunk/runtime/src/main/java/org/teiid/odbc/
trunk/runtime/src/main/java/org/teiid/odbc/ODBCClientRemote.java
trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemote.java
trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
trunk/runtime/src/main/java/org/teiid/odbc/ScriptReader.java
trunk/runtime/src/main/java/org/teiid/transport/ODBCClientInstance.java
trunk/runtime/src/main/java/org/teiid/transport/ODBCSocketListener.java
trunk/runtime/src/main/java/org/teiid/transport/PGCharsetConverter.java
trunk/runtime/src/main/java/org/teiid/transport/PgBackendProtocol.java
trunk/runtime/src/main/java/org/teiid/transport/PgFrontendProtocol.java
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestODBCSchema.java
trunk/test-integration/common/src/test/resources/TestODBCSchema/
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_AM.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRDEF.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_CLASS.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_DATABASE.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_INDEX.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_NAMESPACE.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_PROC.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TRIGGER.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TYPE.expected
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_USER.expected
Modified:
trunk/api/src/main/java/org/teiid/logging/LogConstants.java
trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java
trunk/engine/src/main/java/org/teiid/query/function/source/SystemSource.java
trunk/engine/src/main/resources/org/teiid/query/i18n.properties
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
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/DynamicVDBDeployer.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBParserDeployer.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
trunk/runtime/src/main/java/org/teiid/transport/SocketListener.java
trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractQueryTest.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestMMDatabaseMetaData.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestVDBMerge.java
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
Log:
TEIID-860: Adding the initial ODBC support for to teiid based upon the Postgresql wire
protocol. Some parts of implementation and direction taken from h2 code base, which uses
the same technique to support ODBC. We made the protocol to use which supports async
messaging through Netty channel. Also implemented the PG's catalog using the Teiid
metadata semantics.
Modified: trunk/api/src/main/java/org/teiid/logging/LogConstants.java
===================================================================
--- trunk/api/src/main/java/org/teiid/logging/LogConstants.java 2010-07-15 20:06:02 UTC
(rev 2353)
+++ trunk/api/src/main/java/org/teiid/logging/LogConstants.java 2010-07-16 19:10:00 UTC
(rev 2354)
@@ -36,6 +36,8 @@
public static final String CTX_AUDITLOGGING = "org.teiid.AUDIT_LOG";
//$NON-NLS-1$
public static final String CTX_ADMIN_API = "org.teiid.ADMIN_API";
//$NON-NLS-1$
public static final String CTX_RUNTIME = "org.teiid.RUNTIME"; //$NON-NLS-1$
+ public static final String CTX_ODBC = "org.teiid.ODBC"; //$NON-NLS-1$
+
// Query contexts
public static final String CTX_FUNCTION_TREE = CTX_QUERY_PLANNER +
".FUNCTION_TREE"; //$NON-NLS-1$
public static final String CTX_QUERY_RESOLVER = CTX_QUERY_PLANNER +
".RESOLVER"; //$NON-NLS-1$
Modified: trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
===================================================================
--- trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-07-16
19:10:00 UTC (rev 2354)
@@ -51,6 +51,7 @@
<property name="profileService"><inject
bean="ProfileService"/></property>
<property name="jdbcSocketConfiguration"><inject
bean="JdbcSocketConfiguration"/></property>
<property name="adminSocketConfiguration"><inject
bean="AdminSocketConfiguration"/></property>
+ <property name="odbcSocketConfiguration"><inject
bean="OdbcSocketConfiguration"/></property>
<property name="workManager"><inject
bean="WorkManager"/></property>
<property name="XATerminator"><inject
bean="TransactionManager"
property="XATerminator"/></property>
<property name="transactionManager"><inject
bean="TransactionManager"
property="transactionManager"/></property>
@@ -147,6 +148,34 @@
<property name="authenticationMode">anonymous</property>
<property name="clientEncryptionEnabled">true</property>
</bean>
+
+ <!-- JDBC Socket connection properties (SSL see below) -->
+ <bean name="OdbcSocketConfiguration"
class="org.teiid.transport.SocketConfiguration">
+ <property name="enabled">true</property>
+ <!-- property name="bindAddress">localhost</property-->
+ <property name="portNumber">35432</property>
+ <!-- Max number of threads dedicated to initial request processing (default
15) -->
+ <property name="maxSocketThreads">15</property>
+ <!-- SO_RCVBUF size, 0 indicates that system default should be used (default
0) -->
+ <property name="inputBufferSize">0</property>
+ <!-- SO_SNDBUF size, 0 indicates that system default should be used (default
0) -->
+ <property name="outputBufferSize">0</property>
+ <property name="SSLConfiguration"><inject
bean="JdbcSslConfiguration"/></property>
+ </bean>
+
+ <bean name="OdbcSslConfiguration"
class="org.teiid.transport.SSLConfiguration">
+ <property name="sslEnabled">false</property>
+ <property name="keystoreFilename">cert.keystore</property>
+ <property name="keystorePassword">passwd</property>
+ <property name="keystoreType">JKS</property>
+ <property name="sslProtocol">SSLv3</property>
+ <property name="keymanagementAlgorithm">false</property>
+ <property
name="truststoreFilename">cert.truststore</property>
+ <property name="truststorePassword">passwd</property>
+ <!-- 1-way, 2-way, anonymous -->
+ <property name="authenticationMode">1-way</property>
+ <property name="clientEncryptionEnabled">true</property>
+ </bean>
<!-- teiid's default security domain, replace this with your own if needs to
be any other JAAS domain -->
<application-policy xmlns="urn:jboss:security-beans:1.0"
name="teiid-security">
Modified: trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/common-core/src/main/java/org/teiid/core/CoreConstants.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -52,6 +52,8 @@
public static final String SYSTEM_MODEL = "SYS"; //$NON-NLS-1$
+ public static final String ODBC_MODEL = "pg_catalog"; //$NON-NLS-1$
+
public static final String SYSTEM_VDB = "System.vdb"; //$NON-NLS-1$
public static final String PRODUCT_OWNER_NAME_PROPERTY = "ownerName";
//$NON-NLS-1$
Modified:
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1923,6 +1923,17 @@
<para>return is string</para>
</entry>
</row>
+ <row>
+ <entry>
+ <para><code>CURRENT_DATABASE()</code></para>
+ </entry>
+ <entry>
+ <para>Retrieve the catalog name of the database. Currently VDB's
name is also the catalog name.</para>
+ </entry>
+ <entry>
+ <para>return is string</para>
+ </entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/CachedFinder.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -58,6 +58,7 @@
this.connectorRepo = repo;
this.vdb = vdb;
userCache.put(CoreConstants.SYSTEM_MODEL, SYSTEM_CAPS);
+ userCache.put(CoreConstants.ODBC_MODEL, SYSTEM_CAPS);
}
/**
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 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -164,7 +164,7 @@
for (Datatype datatype : metadata.getDatatypes()) {
rows.add(Arrays.asList(datatype.getName(), datatype.isBuiltin(),
datatype.isBuiltin(), datatype.getName(), datatype.getJavaClassName(),
datatype.getScale(),
datatype.getLength(), datatype.getNullType().toString(), datatype.isSigned(),
datatype.isAutoIncrement(), datatype.isCaseSensitive(), datatype.getPrecisionLength(),
- datatype.getRadix(), datatype.getSearchType().toString(), datatype.getUUID(),
datatype.getRuntimeTypeName(), datatype.getBasetypeName(), datatype.getAnnotation()));
+ datatype.getRadix(), datatype.getSearchType().toString(), datatype.getUUID(),
datatype.getRuntimeTypeName(), datatype.getBasetypeName(), datatype.getAnnotation(),
datatype.getUUID().hashCode()));
}
break;
case VIRTUALDATABASES:
@@ -172,13 +172,13 @@
break;
case SCHEMAS:
for (Schema model : getVisibleSchemas(vdb, metadata)) {
- rows.add(Arrays.asList(vdbName, model.getName(), model.isPhysical(),
model.getUUID(), model.getAnnotation(), model.getPrimaryMetamodelUri()));
+ rows.add(Arrays.asList(vdbName, model.getName(), model.isPhysical(),
model.getUUID(), model.getAnnotation(), model.getPrimaryMetamodelUri(),
model.getUUID().hashCode()));
}
break;
case PROCEDURES:
for (Schema schema : getVisibleSchemas(vdb, metadata)) {
for (Procedure proc : schema.getProcedures().values()) {
- rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
proc.getNameInSource(), proc.getResultSet() != null, proc.getUUID(),
proc.getAnnotation()));
+ rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
proc.getNameInSource(), proc.getResultSet() != null, proc.getUUID(),
proc.getAnnotation(),proc.getUUID().hashCode()));
}
}
break;
@@ -188,13 +188,13 @@
for (ProcedureParameter param : proc.getParameters()) {
Datatype dt = param.getDatatype();
rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
param.getName(), dt!=null?dt.getRuntimeTypeName():null, param.getPosition(),
param.getType().toString(), param.isOptional(),
- param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation()));
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation(),
param.getUUID().hashCode()));
}
if (proc.getResultSet() != null) {
for (Column param : proc.getResultSet().getColumns()) {
Datatype dt = param.getDatatype();
rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
param.getName(), dt!=null?dt.getRuntimeTypeName():null, param.getPosition(),
"ResultSet", false, //$NON-NLS-1$
- param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation()));
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation(),
param.getUUID().hashCode()));
}
}
}
@@ -221,7 +221,7 @@
}
for (AbstractMetadataRecord record : records) {
for (Map.Entry<String, String> entry : record.getProperties().entrySet()) {
- rows.add(Arrays.asList(entry.getKey(), entry.getValue(), record.getUUID()));
+ rows.add(Arrays.asList(entry.getKey(), entry.getValue(), record.getUUID(),
record.getUUID().hashCode()));
}
}
break;
@@ -231,7 +231,7 @@
switch (sysTable) {
case TABLES:
rows.add(Arrays.asList(vdbName, schema.getName(), table.getName(),
table.getTableType().toString(), table.getNameInSource(),
- table.isPhysical(), table.supportsUpdate(), table.getUUID(),
table.getCardinality(), table.getAnnotation(), table.isSystem(),
table.isMaterialized()));
+ table.isPhysical(), table.supportsUpdate(), table.getUUID(),
table.getCardinality(), table.getAnnotation(), table.isSystem(), table.isMaterialized(),
table.getUUID().hashCode()));
break;
case COLUMNS:
for (Column column : table.getColumns()) {
@@ -240,13 +240,13 @@
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.getCharOctetLength(), column.getRadix(), column.getUUID(),
column.getAnnotation()));
+ column.getCharOctetLength(), column.getRadix(), column.getUUID(),
column.getAnnotation(), column.getUUID().hashCode()));
}
break;
case KEYS:
for (KeyRecord key : table.getAllKeys()) {
rows.add(Arrays.asList(vdbName, table.getParent().getName(), table.getName(),
key.getName(), key.getAnnotation(), key.getNameInSource(), key.getType().toString(),
- false, (key instanceof ForeignKey)?((ForeignKey)key).getUniqueKeyID():null,
key.getUUID()));
+ false, (key instanceof ForeignKey)?((ForeignKey)key).getUniqueKeyID():null,
key.getUUID(), key.getUUID().hashCode()));
}
break;
case KEYCOLUMNS:
@@ -254,7 +254,7 @@
int postition = 1;
for (Column column : key.getColumns()) {
rows.add(Arrays.asList(vdbName, schema.getName(), table.getName(),
column.getName(), key.getName(), key.getType().toString(),
- (key instanceof ForeignKey)?((ForeignKey)key).getUniqueKeyID():null,
key.getUUID(), postition++));
+ (key instanceof ForeignKey)?((ForeignKey)key).getUniqueKeyID():null,
key.getUUID(), postition++, key.getUUID().hashCode()));
}
}
break;
Modified: trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1196,6 +1196,10 @@
public static Object user(CommandContext context) {
return context.getUserName();
}
+
+ public static Object current_database(CommandContext context) {
+ return context.getVdbName();
+ }
// ================= Function - COMMANDPAYLOAD ========================
public static Object commandPayload(CommandContext context) {
Modified: trunk/engine/src/main/java/org/teiid/query/function/source/SystemSource.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/query/function/source/SystemSource.java 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/engine/src/main/java/org/teiid/query/function/source/SystemSource.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -157,6 +157,7 @@
addDecodeFunctions();
addLookupFunctions();
addUserFunction();
+ addCurrentDatabaseFunction();
addEnvFunction();
addCommandPayloadFunctions();
addIfNullFunctions();
@@ -771,6 +772,12 @@
new FunctionParameter("result",
DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("SystemSource.User_result")), false,
FunctionMethod.SESSION_DETERMINISTIC) ); //$NON-NLS-1$ //$NON-NLS-2$
}
+ private void addCurrentDatabaseFunction() {
+ functions.add(
+ new FunctionMethod("current_database",
QueryPlugin.Util.getString("SystemSource.current_database_desc"), MISCELLANEOUS,
FunctionMethod.CANNOT_PUSHDOWN, FUNCTION_CLASS, "current_database", null,
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ new FunctionParameter("result",
DataTypeManager.DefaultDataTypes.STRING,
QueryPlugin.Util.getString("current_database_result")), false,
FunctionMethod.SESSION_DETERMINISTIC) ); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
private void addEnvFunction() {
functions.add(
new FunctionMethod("env",
QueryPlugin.Util.getString("SystemSource.Env_desc"), MISCELLANEOUS,
FunctionMethod.CANNOT_PUSHDOWN, FUNCTION_CLASS, "env", //$NON-NLS-1$
//$NON-NLS-2$ //$NON-NLS-3$
Modified: trunk/engine/src/main/resources/org/teiid/query/i18n.properties
===================================================================
--- trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2010-07-16 19:10:00
UTC (rev 2354)
@@ -735,6 +735,8 @@
SystemSource.Lookup_result=Return value for key as specified in code table
SystemSource.User_desc=Get current user name
SystemSource.User_result=Return user name
+SystemSource.current_database_desc=Get current database name
+current_database_result=Returns the catalog name
SystemSource.Env_desc=Get the value of an environment variable
SystemSource.Env_varname=Name of the environment variable
SystemSource.Env_result=Return the string value of the environment variable
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 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -79,6 +79,7 @@
import org.teiid.transport.ClientServiceRegistry;
import org.teiid.transport.ClientServiceRegistryImpl;
import org.teiid.transport.LogonImpl;
+import org.teiid.transport.ODBCSocketListener;
import org.teiid.transport.SocketConfiguration;
import org.teiid.transport.SocketListener;
@@ -88,9 +89,11 @@
private static final long serialVersionUID = -4676205340262775388L;
private transient SocketConfiguration jdbcSocketConfiguration;
- private transient SocketConfiguration adminSocketConfiguration;
+ private transient SocketConfiguration adminSocketConfiguration;
+ private transient SocketConfiguration odbcSocketConfiguration;
private transient SocketListener jdbcSocket;
private transient SocketListener adminSocket;
+ private transient SocketListener odbcSocket;
private transient TransactionServerImpl transactionServerImpl = new
TransactionServerImpl();
private transient DQPCore dqpCore = new DQPCore();
@@ -142,6 +145,15 @@
} else {
LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("socket_not_enabled", "admin
connections")); //$NON-NLS-1$ //$NON-NLS-2$
}
+
+ if (this.odbcSocketConfiguration.isEnabled()) {
+ this.vdbRepository.odbcEnabled();
+ this.odbcSocket = new ODBCSocketListener(this.odbcSocketConfiguration, csr,
this.dqpCore.getBufferManager());
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("odbc_enabled","Teiid ODBC - SSL=",
(this.odbcSocketConfiguration.getSSLConfiguration().isSslEnabled()?"ON":"OFF")+"
Host = "+this.odbcSocketConfiguration.getHostAddress().getHostName()+" Port =
"+this.odbcSocketConfiguration.getPortNumber())); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ } else {
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("odbc_not_enabled")); //$NON-NLS-1$
+ }
+
LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_started", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
if (jndiName != null) {
final InitialContext ic ;
@@ -180,7 +192,12 @@
if (this.adminSocket != null) {
this.adminSocket.stop();
this.adminSocket = null;
- }
+ }
+
+ if (this.odbcSocket != null) {
+ this.odbcSocket.stop();
+ this.odbcSocket = null;
+ }
LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_stopped", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
}
@@ -229,6 +246,10 @@
public void setAdminSocketConfiguration(SocketConfiguration socketConfig) {
this.adminSocketConfiguration = socketConfig;
}
+
+ public void setOdbcSocketConfiguration(SocketConfiguration socketConfig) {
+ this.odbcSocketConfiguration = socketConfig;
+ }
public void setXATerminator(XATerminator xaTerminator){
this.transactionServerImpl.setXaTerminator(xaTerminator);
Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2010-07-16
19:10:00 UTC (rev 2354)
@@ -23,6 +23,8 @@
engine_started=Teiid Engine Started = {0}
socket_not_enabled=Socket transport for {0} is not enabled in Teiid.
socket_enabled={0} {1}
+odbc_not_enabled=ODBC transport is not enabled in Teiid.
+odbc_enabled={0} {1}
engine_stopped=Teiid Engine stopped {0}
admin_connection_closed=Teiid admin connection is already closed.
translator_exists=Translator with name {0} already exists in the configuration
Modified: trunk/metadata/src/main/resources/System.vdb
===================================================================
(Binary files differ)
Modified: trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/deployers/CompositeVDB.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -45,17 +45,17 @@
private LinkedHashMap<String, Resource> visibilityMap;
private UDFMetaData udf;
private LinkedHashMap<VDBKey, CompositeVDB> children;
- private MetadataStore systemStore;
+ private MetadataStore[] additionalStores;
// used as cached item to avoid rebuilding
private VDBMetaData mergedVDB;
- public CompositeVDB(VDBMetaData vdb, MetadataStoreGroup stores, LinkedHashMap<String,
Resource> visibilityMap, UDFMetaData udf, MetadataStore systemStore) {
+ public CompositeVDB(VDBMetaData vdb, MetadataStoreGroup stores, LinkedHashMap<String,
Resource> visibilityMap, UDFMetaData udf, MetadataStore... additionalStores) {
this.vdb = vdb;
this.stores = stores;
this.visibilityMap = visibilityMap;
this.udf = udf;
- this.systemStore = systemStore;
+ this.additionalStores = additionalStores;
update(this.vdb);
}
@@ -88,7 +88,9 @@
}
CompositeMetadataStore compositeStore = new
CompositeMetadataStore(stores.getStores());
- compositeStore.addMetadataStore(this.systemStore);
+ for (MetadataStore s:this.additionalStores) {
+ compositeStore.addMetadataStore(s);
+ }
TransformationMetadata metadata = new TransformationMetadata(vdb, compositeStore,
visibilityMap, methods);
Modified: trunk/runtime/src/main/java/org/teiid/deployers/DynamicVDBDeployer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/DynamicVDBDeployer.java 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/deployers/DynamicVDBDeployer.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -26,10 +26,7 @@
import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.virtual.VirtualFile;
-import org.teiid.adminapi.Model;
-import org.teiid.adminapi.impl.ModelMetaData;
import org.teiid.adminapi.impl.VDBMetaData;
-import org.teiid.core.CoreConstants;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
@@ -49,20 +46,10 @@
vdb.setUrl(unit.getRoot().toURL().toExternalForm());
vdb.setDynamic(true);
- // Add system model to the deployed VDB
- ModelMetaData system = new ModelMetaData();
- system.setName(CoreConstants.SYSTEM_MODEL);
- system.setVisible(true);
- system.setModelType(Model.Type.PHYSICAL);
- system.addSourceMapping(CoreConstants.SYSTEM_MODEL, CoreConstants.SYSTEM_MODEL,
CoreConstants.SYSTEM_MODEL);
- system.setSupportsMultiSourceBindings(false);
- vdb.addModel(system);
-
LogManager.logDetail(LogConstants.CTX_RUNTIME,"VDB
"+unit.getRoot().getName()+" has been parsed."); //$NON-NLS-1$
//$NON-NLS-2$
// The loading of metadata from data sources will be done during the real deploy
// as the resources are guaranteed to be available by that time.
-
return vdb;
}
}
Added: trunk/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,417 @@
+/*
+ * 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.deployers;
+
+import org.teiid.core.CoreConstants;
+import org.teiid.core.types.DataTypeManager;
+import org.teiid.metadata.Column;
+import org.teiid.metadata.ColumnSet;
+import org.teiid.metadata.MetadataFactory;
+import org.teiid.metadata.MetadataStore;
+import org.teiid.metadata.Schema;
+import org.teiid.metadata.Table;
+import org.teiid.metadata.Table.Type;
+import org.teiid.translator.TranslatorException;
+
+public class PgCatalogMetadataStore {
+
+ private static final long serialVersionUID = 5391872008395637166L;
+ private MetadataFactory factory;
+
+ public PgCatalogMetadataStore(MetadataFactory factory) throws TranslatorException {
+ this.factory = factory;
+
+ Schema schema = factory.getMetadataStore().getSchemas().get(CoreConstants.ODBC_MODEL);
+ schema.setUUID("mmuuid:8294601c-9fe9-4244-9499-4a012c5e1476"); //$NON-NLS-1$
+
+ add_pg_namespace();
+ add_pg_class();
+ add_pg_attribute();
+ add_pg_type();
+ add_pg_index();
+ add_pg_am();
+ add_pg_proc();
+ add_pg_trigger();
+ add_pg_attrdef();
+ add_pg_database();
+ add_pg_user();
+ }
+
+ public MetadataStore getMetadataStore() {
+ return factory.getMetadataStore();
+ }
+
+ private Table createView(String name, String uuid) throws TranslatorException {
+ Table t = this.factory.addTable(name);
+ t.setSystem(true);
+ t.setSupportsUpdate(false);
+ t.setVirtual(true);
+ t.setTableType(Type.Table);
+ t.setUUID(uuid);
+ return t;
+ }
+
+ private void addColumn(String name, String type, ColumnSet<?> table, String uuid)
throws TranslatorException {
+ Column c = this.factory.addColumn(name, type, table);
+ c.setUUID(uuid);
+ }
+
+ //index access methods
+ private Table add_pg_am() throws TranslatorException {
+ Table t = createView("pg_am",
"mmuuid:069bf3d5-79ab-4c78-9ede-b6802e5a0dea"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:644ce6f8-a75f-46e6-a03a-294b02feb6fc"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("amname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:ed5b2740-5024-4c3c-a1ac-9187d0ab16c7"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT 0 as oid, 'btree' as amname";
//$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+
+ return t;
+ }
+
+ // column defaul values
+ private Table add_pg_attrdef() throws TranslatorException {
+ Table t = createView("pg_attrdef",
"mmuuid:a54429c7-cc41-4112-982b-df76ef3a507d"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:280c0f10-ed7b-4d36-95a4-1409f22c3839"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("adsrc", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:1f29af59-2a39-4cad-b6ff-986ff224db27"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("adrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:54648256-35de-4dd3-9d23-1cf7d14aac1f"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("adnum", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:520aa08f-1341-4e8e-8abd-5785128d79ab"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT 0 as oid, 0 as adsrc, 0 as adrelid, 0 as
adnum"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ // table columns ("attributes")
+ private Table add_pg_attribute() throws TranslatorException {
+ Table t = createView("pg_attribute",
"mmuuid:7f89ff91-4ae6-40ff-926d-346c5a61f817"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:5142b0b5-b166-4e17-b18c-5bbdb023e1c3"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // OID, The table this column belongs to
+ addColumn("attrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:5f18b807-9eef-41fa-b6d0-b83e2bf6fa5d"); //$NON-NLS-1$ //$NON-NLS-2$
+ // The column name
+ addColumn("attname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:7099d08f-4206-400e-ba65-fbeeb2066070"); //$NON-NLS-1$ //$NON-NLS-2$
+ // OID, The data type of this column
+ addColumn("atttypid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:8ef029fe-6410-4c34-8f35-301d25d7bd59"); //$NON-NLS-1$ //$NON-NLS-2$
+ // A copy of pg_type.typlen of this column's type
+ addColumn("attlen", DataTypeManager.DefaultDataTypes.SHORT, t,
"mmuuid:36973b20-e707-460e-aaa5-ed38f9a1d90a"); //$NON-NLS-1$ //$NON-NLS-2$
+ // The number of the column. Ordinary columns are numbered from 1 up. System columns,
+ // such as oid, have (arbitrary) negative numbers
+ addColumn("attnum", DataTypeManager.DefaultDataTypes.SHORT, t,
"mmuuid:ca1c8121-21d7-4a19-b009-a0ef482f5657"); //$NON-NLS-1$ //$NON-NLS-2$
+ // atttypmod records type-specific data supplied at table creation time (for example,
+ // the maximum length of a varchar column). It is passed to type-specific input
functions and
+ // length coercion functions. The value will generally be -1 for types that do not need
atttypmod
+ addColumn("atttypmod", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:455e727b-8276-4bcd-bd65-9a43b990416a"); //$NON-NLS-1$ //$NON-NLS-2$
+ // This represents a not-null constraint. It is possible to change this column to
enable or disable the constraint
+ addColumn("attnotnull", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:e9230efa-bde9-49ea-b6da-6ede8c5fb3ee"); //$NON-NLS-1$ //$NON-NLS-2$
+ // This column has been dropped and is no longer valid. A dropped column is still
physically present in the table,
+ // but is ignored by the parser and so cannot be accessed via SQL
+ addColumn("attisdropped", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:910c0c60-63be-44fb-bc30-1ba5528cf471"); //$NON-NLS-1$ //$NON-NLS-2$
+ // This column has a default value, in which case there will be a corresponding entry
in the pg_attrdef
+ // catalog that actually defines the value
+ addColumn("atthasdef", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:be916cb0-0f48-44d7-ae5c-003822ee3e57"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT t1.OID as oid, " + //$NON-NLS-1$
+ "(SELECT OID FROM SYS.Tables WHERE Name = t1.TableName AND SchemaName =
t1.SchemaName) as attrelid, " + //$NON-NLS-1$
+ "t1.Name as attname, " + //$NON-NLS-1$
+ "(SELECT pt.oid FROM pg_catalog.pg_type pt, SYS.DataTypes dt WHERE (dt.Name =
t1.DataType AND dt.Name = pt.typname) " + //$NON-NLS-1$
+ "OR ((t1.DataType = 'clob' OR t1.DataType = 'blob') AND
pt.typname = 'lo')) as atttypid, " + //$NON-NLS-1$
+ "convert(t1.Length, short) as attlen, " + //$NON-NLS-1$
+ "convert(t1.Position, short) as attnum, " + //$NON-NLS-1$
+ "t1.Length as atttypmod, " + //$NON-NLS-1$
+ "false as attnotnull, " + //$NON-NLS-1$
+ "false as attisdropped, " + //$NON-NLS-1$
+ "false as atthasdef " + //$NON-NLS-1$
+ "FROM SYS.Columns as t1"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ // tables, indexes, sequences ("relations")
+ private Table add_pg_class() throws TranslatorException {
+ Table t = createView("pg_class",
"mmuuid:ad51e389-9443-4a7b-984a-5c1875fbd329"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:2a19b579-70b9-4923-a5df-6bbbbc642042"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Name of the table, index, view, etc
+ addColumn("relname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:e6534fee-6712-4574-b228-2787fb960e46"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // The OID of the namespace that contains this relation (pg_namespace.oid)
+ addColumn("relnamespace", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:6881bd36-92b9-4552-b953-028036d59f50"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST
table
+ addColumn("relkind", DataTypeManager.DefaultDataTypes.CHAR, t,
"mmuuid:0a280f97-8dce-4123-bbc9-54bf3b5fd8f6"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // If this is an index, the access method used (B-tree, hash, etc.)
+ addColumn("relam", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:6d59ce95-63ef-445d-bf17-6bcb45850623"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Number of rows in the table. This is only an estimate used by the planner. It is
updated
+ // by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX
+ addColumn("reltuples", DataTypeManager.DefaultDataTypes.FLOAT, t,
"mmuuid:d1b54420-5e09-41e0-a177-181e6a6b94d4"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Size of the on-disk representation of this table in pages (of size BLCKSZ). This is
only an estimate
+ // used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such
as CREATE INDEX
+ addColumn("relpages", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:a74a4a3b-20b0-4a62-ac3a-4bd2047979fc"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // True if table has (or once had) rules; see pg_rewrite catalog
+ addColumn("relhasrules", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:712a6f1e-0c49-48dc-99ed-9f55a7c3d6d4"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // True if we generate an OID for each row of the relation
+ addColumn("relhasoids", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:e099cd49-b50b-4573-a931-9c9eb95d75ae"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT t1.OID as oid, t1.name as relname, " +
//$NON-NLS-1$
+ "(SELECT OID FROM SYS.Schemas WHERE Name = t1.SchemaName) as relnamespace,
" + //$NON-NLS-1$
+ "convert((CASE t1.isPhysical WHEN true THEN 'r' ELSE 'v' END),
char) as relkind," + //$NON-NLS-1$
+ "0 as relam, " + //$NON-NLS-1$
+ "convert(0, float) as reltuples, " + //$NON-NLS-1$
+ "0 as relpages, " + //$NON-NLS-1$
+ "false as relhasrules, " + //$NON-NLS-1$
+ "false as relhasoids " + //$NON-NLS-1$
+ "FROM SYS.Tables t1"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ // additional index information
+ private Table add_pg_index() throws TranslatorException {
+ Table t = createView("pg_index",
"mmuuid:a3e60b50-8282-4562-81a3-164e2e1481ad"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:f846b870-445f-4263-905b-f43ebdea385e"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // The OID of the pg_class entry for this index
+ addColumn("indexrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:16e440fd-616a-4437-a630-abc2d90c728e"); //$NON-NLS-1$ //$NON-NLS-2$
+ // The OID of the pg_class entry for the table this index is for
+ addColumn("indrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:94eed371-461a-47b8-8ca1-0494fa0108fb"); //$NON-NLS-1$ //$NON-NLS-2$
+ // If true, the table was last clustered on this index
+ addColumn("indisclustered", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:bce548a8-ac4a-4c71-a7ab-2ca0235e81ed"); //$NON-NLS-1$ //$NON-NLS-2$
+ // If true, this is a unique index
+ addColumn("indisunique", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:48d79b76-983b-4291-89c2-41222c2f1296"); //$NON-NLS-1$ //$NON-NLS-2$
+ // If true, this index represents the primary key of the table (indisunique should
always be true when this is true)
+ addColumn("indisprimary", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:37e53c0f-08b4-403f-a8c6-5b28c367b62c"); //$NON-NLS-1$ //$NON-NLS-2$
+ // Expression trees (in nodeToString() representation) for index attributes that are
not simple
+ // column references. This is a list with one element for each zero entry in indkey.
+ // NULL if all index attributes are simple references
+ addColumn("indexprs", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:b99ce838-8576-423a-b5b7-e58080e3e65d"); //$NON-NLS-1$ //$NON-NLS-2$
+ // This is an array of indnatts values that indicate which table columns this index
indexes.
+ addColumn("indkey", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:4dfcc8eb-a131-4234-993f-051dfa15934e"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT t1.OID as oid, " + //$NON-NLS-1$
+ "t1.OID as indexrelid, " + //$NON-NLS-1$
+ "(SELECT OID FROM SYS.Tables WHERE SchemaName = t1.SchemaName AND Name =
t1.TableName) as indrelid, " + //$NON-NLS-1$
+ "false indisclustered, " + //$NON-NLS-1$
+ "(CASE t1.KeyType WHEN 'Unique' THEN true ELSE false END) as
indisunique, " + //$NON-NLS-1$
+ "(CASE t1.KeyType WHEN 'Primary' THEN true ELSE false END) as
indisprimary, " + //$NON-NLS-1$
+ "'' as indexprs, " + //$NON-NLS-1$
+ "0 as indkey " + //$NON-NLS-1$
+ "FROM SYS.KeyColumns as t1"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ // schemas
+ private Table add_pg_namespace() throws TranslatorException {
+ Table t = createView("pg_namespace",
"mmuuid:38438f3b-7664-4449-8f06-be69b2555a4c"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:36d8ca5a-4747-4bb0-8b7b-9f50f6eb9a0e"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("nspname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:8e2c1f9f-359d-4c33-afa5-20fa87585442"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT t1.OID as oid, t1.Name as nspname " +
//$NON-NLS-1$
+ "FROM SYS.Schemas as t1"; //$NON-NLS-1$
+
+ t.setSelectTransformation(transformation);
+
+ return t;
+ }
+
+ // functions and procedures
+ private Table add_pg_proc() throws TranslatorException {
+ Table t = createView("pg_proc",
"mmuuid:3cffb0db-f326-40e6-890f-9ef7a0980784"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:246f56c3-5268-42b8-a486-d3c77653f603"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Name of the function or procedure
+ addColumn("proname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:b9c340ba-bf6f-41ba-aa40-f3c607077280"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Function returns a set (i.e., multiple values of the specified data type)
+ addColumn("proretset", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:0e2c6601-ecc9-41e2-be0d-3a27565b3714"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // OID of Data type of the return value
+ addColumn("prorettype", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:d5e2bf27-a413-4146-a059-37bf651a1b97"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // Number of input arguments
+ addColumn("pronargs", DataTypeManager.DefaultDataTypes.SHORT, t,
"mmuuid:1490582b-6223-44df-8b20-9bcd5d241aa8"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("proargtypes", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:4af1aac3-5d4c-47c5-ab6c-4a52b5b551b7"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("proargnames", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:bfc2e071-c49d-40b1-b3e9-d4891af6a77c"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("proargmodes", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:fd6e0be2-e336-4d3b-8217-f85cfcd0999b"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("proallargtypes", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:f0e04ef7-1a8b-4007-bce2-e2beba667d53"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // The OID of the namespace that contains this function
+ addColumn("pronamespace", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:458f5136-4128-47e8-8063-3c97fb1add5c"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT t1.OID as oid, t1.Name as proname, false as
proretset, " + //$NON-NLS-1$
+ "(SELECT dt.OID FROM ProcedureParams pp, DataTypes dt WHERE pp.ProcedureName =
t1.Name AND pp.SchemaName = t1.SchemaName AND pp.Type = 'ResultSet' AND
pp.Position = 1 AND dt.Name = pp.DataType) as prorettype, " + //$NON-NLS-1$
+ "(SELECT count(*) FROM ProcedureParams pp WHERE pp.ProcedureName = t1.Name AND
pp.SchemaName = t1.SchemaName ) as pronargs, " + //$NON-NLS-1$
+ "null as proargtypes, " + //$NON-NLS-1$
+ "null as proargnames, " + //$NON-NLS-1$
+ "null as proargmodes, " + //$NON-NLS-1$
+ "null as proallargtypes, " + //$NON-NLS-1$
+ "(SELECT OID FROM SYS.Schemas WHERE Name = t1.SchemaName) as pronamespace "
+ //$NON-NLS-1$
+ "FROM SYS.Procedures as t1"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+
+ // triggers
+ private Table add_pg_trigger() throws TranslatorException {
+ Table t = createView("pg_trigger",
"mmuuid:dbdacb28-7e78-4ae5-8a99-3e3e1c59f641"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:7b1632d0-8357-47d6-9233-24291059f37d"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgconstrrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:f78e6a3c-5c27-4381-9d76-870fd3b6b510"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgfoid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:9a9d2791-506e-4e06-88e2-fadb90cb8d8c"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgargs", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:6ab14a63-9aa3-416c-872b-8f6a37131fa4"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgnargs", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:ec283b19-42a0-441f-8198-b80f353720d1"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgdeferrable", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:264a3677-584c-4ecd-808b-b837acd9c129"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tginitdeferred", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:034bb072-1571-4953-bc18-216478346304"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgconstrname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:ad972784-8dc3-4151-b113-3d95967dc19f"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("tgrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:3aecc7ac-d54a-4bf7-be75-f64b37eb59ab"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT 1 as oid, 1 as tgconstrrelid, "
+//$NON-NLS-1$
+ "1 as tgfoid, " +//$NON-NLS-1$
+ "1 as tgargs, " +//$NON-NLS-1$
+ "1 as tgnargs, " +//$NON-NLS-1$
+ "false as tgdeferrable, " +//$NON-NLS-1$
+ "false as tginitdeferred, " +//$NON-NLS-1$
+ "'dummy' as tgconstrname, " +//$NON-NLS-1$
+ "1 as tgrelid " +//$NON-NLS-1$
+ "FROM SYS.Tables WHERE 1=2"; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ //data types
+ private Table add_pg_type () throws TranslatorException {
+ Table t = createView("pg_type",
"mmuuid:8024e6eb-ba32-41a0-a250-95a36eb4b71f"); //$NON-NLS-1$ //$NON-NLS-2$
+ // Data type name
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:83240e67-acd6-49d3-be86-a4e186d110ea"); //$NON-NLS-1$ //$NON-NLS-2$
+ // Data type name
+ addColumn("typname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:e9f471d8-7ad0-48a9-ab64-7adbe922ff9b"); //$NON-NLS-1$ //$NON-NLS-2$
+ // The OID of the namespace that contains this type
+ addColumn("typnamespace", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:e1723124-4e26-4971-a407-ceefaf0f624d"); //$NON-NLS-1$ //$NON-NLS-2$
+ // For a fixed-size type, typlen is the number of bytes in the internal representation
of the type.
+ // But for a variable-length type, typlen is negative. -1 indicates a
"varlena" type (one that
+ // has a length word), -2 indicates a null-terminated C string.
+ addColumn("typlen", DataTypeManager.DefaultDataTypes.SHORT, t,
"mmuuid:33b00d6a-aae5-4bcd-80cc-ec7052bdeca2"); //$NON-NLS-1$ //$NON-NLS-2$
+ // typtype is b for a base type, c for a composite type (e.g., a table's row
type), d for a domain,
+ // e for an enum type, or p for a pseudo-type. See also typrelid and typbasetype
+ addColumn("typtype", DataTypeManager.DefaultDataTypes.CHAR, t,
"mmuuid:496eb63b-7fb2-4d56-90ac-11e5717acadd"); //$NON-NLS-1$ //$NON-NLS-2$
+ // if this is a domain (see typtype), then typbasetype identifies the type that this
one is based on.
+ // Zero if this type is not a domain
+ addColumn("typbasetype", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:e7df7d7a-1ddd-4a56-8514-82272eef5aa3"); //$NON-NLS-1$ //$NON-NLS-2$
+ // Domains use typtypmod to record the typmod to be applied to their base type
+ // (-1 if base type does not use a typmod). -1 if this type is not a domain
+ addColumn("typtypmod", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:800d1b55-c775-4a63-b5ed-e76d3b112f60"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ addColumn("typrelid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:d44fc440-a677-463f-a403-f04f1896a705"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation =
+ "SELECT 16 as oid, 'boolean' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ //"SELECT 17 as oid, 'blob' as typname,(SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ //" union " + //$NON-NLS-1$
+ "SELECT 1043 as oid, 'string' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 25 as oid, 'text' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 1042 as oid, 'char' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 21 as oid, 'short' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(2, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 20 as oid, 'long' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(8, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 23 as oid, 'int' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(4, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 26 as oid, 'oid' as typname, (SELECT OID FROM SYS.Schemas where
Name = 'SYS') as typname, convert(4, short) as typlen, convert('b',
char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid FROM (SELECT 1)
X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 700 as oid, 'float' as typname,(SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(4, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 701 as oid, 'double' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(8, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ //"SELECT 1009 as oid, 'clob' as typname,(SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ //" union " + //$NON-NLS-1$
+ "SELECT 1082 as oid, 'date' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(4, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 1083 as oid, 'datetime' as typname,(SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(8, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 1114 as oid, 'timestamp' as typname, (SELECT OID FROM
SYS.Schemas where Name = 'SYS') as typnamespace, convert(8, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 1700 as oid, 'decimal' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 142 as oid, 'xml' as typname, (SELECT OID FROM SYS.Schemas where
Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X" + //$NON-NLS-1$
+ " union " + //$NON-NLS-1$
+ "SELECT 14939 as oid, 'lo' as typname, (SELECT OID FROM SYS.Schemas
where Name = 'SYS') as typnamespace, convert(-1, short) as typlen,
convert('b', char) as typtype, 0 as typbasetype, -1 as typtypmod, 0 as typrelid
FROM (SELECT 1) X"; //$NON-NLS-1$
+
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ private Table add_pg_database() throws TranslatorException {
+ Table t = createView("pg_database",
"mmuuid:6ae73c29-0c6f-4ec3-9c09-a262d8e41ac2"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:a2be6d15-b504-4257-962e-2c3fa90e3c16"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("datname", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:e751d595-6afe-430e-9f57-a56cee474765"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("encoding", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:637b6fec-e56a-461b-b714-7c88976d7cde"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("datlastsysoid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:c93379b9-1b4d-4068-890f-deed28338a54"); //$NON-NLS-1$ //$NON-NLS-2$
+ // this is is boolean type but the query coming in is in the form dataallowconn =
't'
+ addColumn("datallowconn", DataTypeManager.DefaultDataTypes.CHAR, t,
"mmuuid:7be945c4-6bca-4f65-b655-b055b6d31c56"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("datconfig", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:dde7619f-7071-490f-85c8-ba8c68cb0e78"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("datacl", DataTypeManager.DefaultDataTypes.OBJECT, t,
"mmuuid:80ed5897-0b9c-4b3a-95ee-0e5ff4faad34"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("datdba", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:1190357d-63d4-4b19-a0cd-f9f23b11e23e"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("dattablespace", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:6261ae76-3d53-4bda-bb5c-a353818292ae"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT 0 as oid, " + //$NON-NLS-1$
+ "'teiid' as datname, " + //$NON-NLS-1$
+ "6 as encoding, " + //$NON-NLS-1$
+ "100000 as datlastsysoid, " + //$NON-NLS-1$
+ "convert('t', char) as datallowconn, " + //$NON-NLS-1$
+ "null, " + //$NON-NLS-1$
+ "null, " + //$NON-NLS-1$
+ "0 as datdba, " + //$NON-NLS-1$
+ "0 as dattablespace" ; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+
+ private Table add_pg_user() throws TranslatorException {
+ Table t = createView("pg_user",
"mmuuid:0da462b7-bacf-41da-9335-9a12224c462a"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("oid", DataTypeManager.DefaultDataTypes.INTEGER, t,
"mmuuid:dcebd4db-ba52-4909-ab57-528c818e94b7"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("usename", DataTypeManager.DefaultDataTypes.STRING, t,
"mmuuid:8d148996-16a1-44d8-b5ff-06f9421415d4"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("usecreatedb", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:7f20dc11-f376-4da5-9fe5-139c2562b4c2"); //$NON-NLS-1$ //$NON-NLS-2$
+ addColumn("usesuper", DataTypeManager.DefaultDataTypes.BOOLEAN, t,
"mmuuid:f3434529-3e9a-4f11-90c0-b74374947902"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String transformation = "SELECT 0 as oid, " + //$NON-NLS-1$
+ "null as usename, " + //$NON-NLS-1$
+ "false as usecreatedb, " + //$NON-NLS-1$
+ "false as usesuper "; //$NON-NLS-1$
+ t.setSelectTransformation(transformation);
+ return t;
+ }
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/deployers/PgCatalogMetadataStore.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -114,7 +114,7 @@
if (store == null && deployment.isDynamic()) {
MetadataStoreGroup dynamicStore = new MetadataStoreGroup();
for (Model model:deployment.getModels()) {
- if (model.getName().equals(CoreConstants.SYSTEM_MODEL)){
+ if (model.getName().equals(CoreConstants.SYSTEM_MODEL) ||
model.getName().equals(CoreConstants.ODBC_MODEL)){
continue;
}
dynamicStore.addStore(buildDynamicMetadataStore((VFSDeploymentUnit)unit, deployment,
(ModelMetaData)model));
@@ -138,6 +138,7 @@
// add the metadata objects as attachments
deployment.removeAttachment(IndexMetadataFactory.class);
deployment.removeAttachment(UDFMetaData.class);
+ deployment.removeAttachment(MetadataStoreGroup.class);
// add transformation metadata to the repository.
this.vdbRepository.addVDB(deployment, store, visibilityMap, udf);
@@ -169,7 +170,7 @@
IdentityHashMap<Translator, ExecutionFactory<Object, Object>> map = new
IdentityHashMap<Translator, ExecutionFactory<Object, Object>>();
for (Model model:deployment.getModels()) {
- if (model.getName().equals(CoreConstants.SYSTEM_MODEL)){
+ if (model.getName().equals(CoreConstants.SYSTEM_MODEL) ||
model.getName().equals(CoreConstants.ODBC_MODEL)){
continue;
}
for (String source:model.getSourceNames()) {
@@ -202,7 +203,7 @@
ModelMetaData model = (ModelMetaData)m;
List<SourceMappingMetadata> mappings = model.getSourceMappings();
for (SourceMappingMetadata mapping:mappings) {
- if (mapping.getName().equals(CoreConstants.SYSTEM_MODEL)) {
+ if (mapping.getName().equals(CoreConstants.SYSTEM_MODEL) ||
model.getName().equals(CoreConstants.ODBC_MODEL)) {
continue;
}
ConnectorManager cm =
this.connectorManagerRepository.getConnectorManager(mapping.getName());
@@ -228,7 +229,7 @@
// there is chance that two different VDBs using the same source name, and their
// connector manager is removed. should we prefix vdb name??
for (Model model:deployment.getModels()) {
- if (model.getName().equals(CoreConstants.SYSTEM_MODEL)){
+ if (model.getName().equals(CoreConstants.SYSTEM_MODEL) ||
model.getName().equals(CoreConstants.ODBC_MODEL)){
continue;
}
for (String source:model.getSourceNames()) {
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBParserDeployer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBParserDeployer.java 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBParserDeployer.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -168,16 +168,7 @@
// If the UDF file is enclosed then attach it to the deployment artifact
unit.addAttachment(UDFMetaData.class, udf);
}
-
- // Add system model to the deployed VDB
- ModelMetaData system = new ModelMetaData();
- system.setName(CoreConstants.SYSTEM_MODEL);
- system.setVisible(true);
- system.setModelType(Model.Type.PHYSICAL);
- system.addSourceMapping(CoreConstants.SYSTEM_MODEL, CoreConstants.SYSTEM_MODEL,
CoreConstants.SYSTEM_MODEL);
- system.setSupportsMultiSourceBindings(false);
- vdb.addModel(system);
-
+
LogManager.logTrace(LogConstants.CTX_RUNTIME, "VDB
"+unit.getRoot().getName()+" has been parsed."); //$NON-NLS-1$
//$NON-NLS-2$
return vdb;
}
@@ -200,7 +191,7 @@
if (vdbMO != null) {
VDBMetaData vdb = (VDBMetaData) vdbMO.getAttachment();
for (Model m : vdb.getModels()) {
- if (m.getName().equals(CoreConstants.SYSTEM_MODEL)) {
+ if (m.getName().equals(CoreConstants.SYSTEM_MODEL) ||
m.getName().equals(CoreConstants.ODBC_MODEL) ) {
continue;
}
ManagedObject mo = this.mof.initManagedObject(m, ModelMetaData.class,
m.getName(),m.getName());
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -28,18 +28,26 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import org.jboss.deployers.spi.DeploymentException;
import org.teiid.adminapi.AdminException;
import org.teiid.adminapi.AdminProcessingException;
+import org.teiid.adminapi.Model;
import org.teiid.adminapi.VDB;
+import org.teiid.adminapi.impl.ModelMetaData;
import org.teiid.adminapi.impl.VDBMetaData;
+import org.teiid.core.CoreConstants;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
import org.teiid.metadata.Datatype;
+import org.teiid.metadata.MetadataFactory;
import org.teiid.metadata.MetadataStore;
import org.teiid.metadata.TransformationMetadata.Resource;
import org.teiid.runtime.RuntimePlugin;
+import org.teiid.translator.TranslatorException;
import org.teiid.vdb.runtime.VDBKey;
@@ -51,6 +59,8 @@
private Map<VDBKey, CompositeVDB> vdbRepo = new ConcurrentHashMap<VDBKey,
CompositeVDB>();
private MetadataStore systemStore;
+ private MetadataStore odbcStore;
+ private boolean odbcEnabled = false;
public void addVDB(VDBMetaData vdb, MetadataStoreGroup stores, LinkedHashMap<String,
Resource> visibilityMap, UDFMetaData udf) throws DeploymentException {
if (getVDB(vdb.getName(), vdb.getVersion()) != null) {
@@ -60,11 +70,43 @@
// get the system VDB metadata store
if (this.systemStore == null) {
throw new
DeploymentException(RuntimePlugin.Util.getString("system_vdb_load_error"));
//$NON-NLS-1$
- }
+ }
- this.vdbRepo.put(vdbId(vdb), new CompositeVDB(vdb, stores, visibilityMap, udf,
this.systemStore));
+ if (this.odbcEnabled && odbcStore == null) {
+ this.odbcStore = getODBCMetadataStore();
+ }
+
+ if (this.odbcStore == null) {
+ addSystemModel(vdb);
+ this.vdbRepo.put(vdbId(vdb), new CompositeVDB(vdb, stores, visibilityMap, udf,
this.systemStore));
+ }
+ else {
+ addSystemModel(vdb);
+ addODBCModel(vdb);
+ this.vdbRepo.put(vdbId(vdb), new CompositeVDB(vdb, stores, visibilityMap, udf,
this.systemStore, odbcStore));
+ }
}
+
+ private void addODBCModel(VDBMetaData vdb) {
+ // add the ODBC model
+ ModelMetaData odbcSystem = new ModelMetaData();
+ odbcSystem.setName(CoreConstants.ODBC_MODEL);
+ odbcSystem.setVisible(true);
+ odbcSystem.setModelType(Model.Type.VIRTUAL);
+ vdb.addModel(odbcSystem);
+ }
+ private void addSystemModel(VDBMetaData vdb) {
+ // Add system model to the deployed VDB
+ ModelMetaData system = new ModelMetaData();
+ system.setName(CoreConstants.SYSTEM_MODEL);
+ system.setVisible(true);
+ system.setModelType(Model.Type.PHYSICAL);
+ system.addSourceMapping(CoreConstants.SYSTEM_MODEL, CoreConstants.SYSTEM_MODEL,
CoreConstants.SYSTEM_MODEL);
+ system.setSupportsMultiSourceBindings(false);
+ vdb.addModel(system);
+ }
+
public VDBMetaData getVDB(String name, int version) {
CompositeVDB v = this.vdbRepo.get(new VDBKey(name, version));
if (v != null) {
@@ -113,10 +155,29 @@
return systemStore;
}
+ public MetadataStore getODBCStore() {
+ return this.odbcStore;
+ }
+
public void setSystemStore(MetadataStore store) {
this.systemStore = store;
}
+
+ private MetadataStore getODBCMetadataStore() {
+ MetadataFactory factory = new MetadataFactory(CoreConstants.ODBC_MODEL,
getBuiltinDatatypes(), new Properties());
+ try {
+ PgCatalogMetadataStore pg = new PgCatalogMetadataStore(factory);
+ return pg.getMetadataStore();
+ } catch (TranslatorException e) {
+ LogManager.logError(LogConstants.CTX_DQP,
RuntimePlugin.Util.getString("failed_to_load_odbc_metadata")); //$NON-NLS-1$
+ }
+ return null;
+ }
+ public void odbcEnabled() {
+ this.odbcEnabled = true;
+ }
+
public synchronized void removeVDB(String vdbName, int vdbVersion) {
VDBKey key = new VDBKey(vdbName, vdbVersion);
this.vdbRepo.remove(key);
@@ -144,15 +205,22 @@
public void mergeVDBs(String sourceVDBName, int sourceVDBVersion, String targetVDBName,
int targetVDBVersion) throws AdminException{
CompositeVDB source = this.vdbRepo.get(new VDBKey(sourceVDBName, sourceVDBVersion));
if (source == null) {
- throw new
AdminProcessingException(RuntimePlugin.Util.getString("vdb_not_found",
sourceVDBName, sourceVDBVersion));
+ throw new
AdminProcessingException(RuntimePlugin.Util.getString("vdb_not_found",
sourceVDBName, sourceVDBVersion)); //$NON-NLS-1$
}
CompositeVDB target = this.vdbRepo.get(new VDBKey(targetVDBName, targetVDBVersion));
if (target == null) {
- throw new
AdminProcessingException(RuntimePlugin.Util.getString("vdb_not_found",
sourceVDBName, sourceVDBVersion));
+ throw new
AdminProcessingException(RuntimePlugin.Util.getString("vdb_not_found",
sourceVDBName, sourceVDBVersion)); //$NON-NLS-1$
}
// merge them
target.addChild(source);
}
+
+ // this is called by mc
+ public void start() {
+ if (this.odbcEnabled) {
+ this.odbcStore = getODBCMetadataStore();
+ }
+ }
}
Added: trunk/runtime/src/main/java/org/teiid/odbc/ODBCClientRemote.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/odbc/ODBCClientRemote.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/odbc/ODBCClientRemote.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -0,0 +1,107 @@
+/*
+ * 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.odbc;
+
+import java.nio.charset.Charset;
+import java.sql.ParameterMetaData;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.util.Properties;
+
+public interface ODBCClientRemote {
+
+ void initialized(Properties props);
+
+ void setEncoding(Charset value);
+
+ // AuthenticationCleartextPassword (B)
+ void useClearTextAuthentication();
+
+ // AuthenticationOk (B)
+ // BackendKeyData (B)
+ // ParameterStatus (B)
+ void authenticationSucess(int processId, int screctKey);
+
+ // ParseComplete (B)
+ void prepareCompleted(String preparedName);
+
+ // ErrorResponse (B)
+ void errorOccurred(String msg);
+
+ // ErrorResponse (B)
+ void errorOccurred(Throwable e);
+
+ void terminated();
+
+ // ParameterDescription (B)
+ void sendParameterDescription(ParameterMetaData parameterMetaData, int[] paramType);
+
+ // BindComplete (B)
+ void bindComplete();
+
+ // RowDescription (B)
+ // NoData (B)
+ void sendResultSetDescription(ResultSetMetaData metaData);
+
+ // DataRow (B)
+ // CommandComplete (B)
+ void sendResults(String sql, ResultSet rs, boolean describeRows);
+
+ // CommandComplete (B)
+ void sendUpdateCount(String sql, int updateCount);
+
+ // ReadyForQuery (B)
+ void ready(boolean inTransaction, boolean failedTransaction);
+
+ void statementClosed();
+
+ // EmptyQueryResponse (B)
+ void emptyQueryReceived();
+
+ void flush();
+
+ // unimplemented backend messages
+
+ // AuthenticationKerberosV5 (B)
+ // AuthenticationMD5Password (B)
+ // AuthenticationSCMCredential (B)
+ // AuthenticationGSS (B)
+ // AuthenticationSSPI (B)
+ // AuthenticationGSSContinue (B)
+
+ // CloseComplete (B)
+
+ // CopyData (F & B)
+ // CopyDone (F & B)
+ // CopyInResponse (B)
+ // CopyOutResponse (B)
+
+ // FunctionCallResponse (B)
+
+ // NoticeResponse (B)
+ // NotificationResponse (B)
+
+ // PortalSuspended (B)
+
+
+
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/odbc/ODBCClientRemote.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemote.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemote.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemote.java 2010-07-16 19:10:00
UTC (rev 2354)
@@ -0,0 +1,68 @@
+/*
+ * 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.odbc;
+
+import java.util.Properties;
+
+public interface ODBCServerRemote {
+ enum AuthenticationType {CLEARTEXT, MD5};
+
+ void initialize(Properties props);
+
+ void logon(String databaseName, String userid, String password);
+
+ void prepare(String prepareName, String sql, int[] paramType);
+
+ void bindParameters(String bindName, String prepareName, int paramCount, Object[]
paramdata, int resultCodeCount, int[] resultColumnFormat);
+
+ void execute(String bindName, int maxrows);
+
+ void getParameterDescription(String prepareName);
+
+ void getResultSetMetaDataDescription(String bindName);
+
+ void sync();
+
+ void executeQuery(String sql);
+
+ void terminate();
+
+ void cancel();
+
+ void closePreparedStatement(String preparedName);
+
+ void closeBoundStatement(String bindName);
+
+ void unsupportedOperation(String msg);
+
+ void flush();
+
+ // unimplemented frontend messages
+ // CopyData (F & B)
+ // CopyDone (F & B)
+ // CopyFail (F)
+ // Flush (F)
+ // FunctionCall (F)
+ // SSLRequest (F)
+}
+
+
Property changes on: trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemote.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,640 @@
+/*
+ * 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.odbc;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.teiid.jdbc.ConnectionImpl;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.runtime.RuntimePlugin;
+import org.teiid.transport.PGCharsetConverter;
+
+/**
+ * While executing the multiple prepared statements I see this bug currently
+ *
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1007690&am...
+ */
+public class ODBCServerRemoteImpl implements ODBCServerRemote {
+
+ private static final String UNNAMED = "UNNAMED"; //$NON-NLS-1$
+ private static Pattern setPattern =
Pattern.compile("(SET|set)\\s+(\\w+)\\s+(TO|to)\\s+'(\\w+\\d*)'");//$NON-NLS-1$
+
+ private static Pattern pkPattern = Pattern.compile("select ta.attname, ia.attnum,
ic.relname, n.nspname, tc.relname " +//$NON-NLS-1$
+ "from pg_catalog.pg_attribute ta, pg_catalog.pg_attribute ia, pg_catalog.pg_class
tc, pg_catalog.pg_index i, " +//$NON-NLS-1$
+ "pg_catalog.pg_namespace n, pg_catalog.pg_class ic where tc.relname =
E'(\\w+)' AND n.nspname = E'(\\w+)'.*" );//$NON-NLS-1$
+
+
+ private static Pattern pkKeyPattern = Pattern.compile("select ta.attname,
ia.attnum, ic.relname, n.nspname, NULL .*"); //$NON-NLS-1$
+
+ private Pattern fkPattern = Pattern.compile("select\\s+'(\\w+)'::name as
PKTABLE_CAT," + //$NON-NLS-1$
+ "\\s+n2.nspname as PKTABLE_SCHEM," + //$NON-NLS-1$
+ "\\s+c2.relname as PKTABLE_NAME," + //$NON-NLS-1$
+ "\\s+a2.attname as PKCOLUMN_NAME," + //$NON-NLS-1$
+ "\\s+'(\\w+)'::name as FKTABLE_CAT," + //$NON-NLS-1$
+ "\\s+n1.nspname as FKTABLE_SCHEM," + //$NON-NLS-1$
+ "\\s+c1.relname as FKTABLE_NAME," + //$NON-NLS-1$
+ "\\s+a1.attname as FKCOLUMN_NAME," + //$NON-NLS-1$
+ "\\s+i::int2 as KEY_SEQ," + //$NON-NLS-1$
+ "\\s+case ref.confupdtype" + //$NON-NLS-1$
+ "\\s+when 'c' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'n' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'd' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'r' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+else 3::int2" + //$NON-NLS-1$
+ "\\s+end as UPDATE_RULE," + //$NON-NLS-1$
+ "\\s+case ref.confdeltype" + //$NON-NLS-1$
+ "\\s+when 'c' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'n' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'd' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+when 'r' then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+else 3::int2" + //$NON-NLS-1$
+ "\\s+end as DELETE_RULE," + //$NON-NLS-1$
+ "\\s+ref.conname as FK_NAME," + //$NON-NLS-1$
+ "\\s+cn.conname as PK_NAME," + //$NON-NLS-1$
+ "\\s+case" + //$NON-NLS-1$
+ "\\s+when ref.condeferrable then" + //$NON-NLS-1$
+ "\\s+case" + //$NON-NLS-1$
+ "\\s+when ref.condeferred then (\\d)::int2" + //$NON-NLS-1$
+ "\\s+else (\\d)::int2" + //$NON-NLS-1$
+ "\\s+end" + //$NON-NLS-1$
+ "\\s+else (\\d)::int2" + //$NON-NLS-1$
+ "\\s+end as DEFERRABLITY" + //$NON-NLS-1$
+ "\\s+from" + //$NON-NLS-1$
+ "\\s+\\(\\(\\(\\(\\(\\(\\( \\(select cn.oid, conrelid, conkey, confrelid,
confkey," + //$NON-NLS-1$
+ "\\s+generate_series\\(array_lower\\(conkey, 1\\), array_upper\\(conkey, 1\\)\\)
as i," + //$NON-NLS-1$
+ "\\s+confupdtype, confdeltype, conname," + //$NON-NLS-1$
+ "\\s+condeferrable, condeferred" + //$NON-NLS-1$
+ "\\s+from pg_catalog.pg_constraint cn," + //$NON-NLS-1$
+ "\\s+pg_catalog.pg_class c," + //$NON-NLS-1$
+ "\\s+pg_catalog.pg_namespace n" + //$NON-NLS-1$
+ "\\s+where contype = 'f' " + //$NON-NLS-1$
+ "\\s+and conrelid = c.oid" + //$NON-NLS-1$
+ "\\s+and relname = E'(\\w+)'" + //$NON-NLS-1$
+ "\\s+and n.oid = c.relnamespace" + //$NON-NLS-1$
+ "\\s+and n.nspname = E'(\\w+)'" + //$NON-NLS-1$
+ "\\s+\\) ref" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_class c1" + //$NON-NLS-1$
+ "\\s+on c1.oid = ref.conrelid\\)" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_namespace n1" + //$NON-NLS-1$
+ "\\s+on n1.oid = c1.relnamespace\\)" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_attribute a1" + //$NON-NLS-1$
+ "\\s+on a1.attrelid = c1.oid" + //$NON-NLS-1$
+ "\\s+and a1.attnum = conkey\\[i\\]\\)" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_class c2" + //$NON-NLS-1$
+ "\\s+on c2.oid = ref.confrelid\\)" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_namespace n2" + //$NON-NLS-1$
+ "\\s+on n2.oid = c2.relnamespace\\)" + //$NON-NLS-1$
+ "\\s+inner join pg_catalog.pg_attribute a2" + //$NON-NLS-1$
+ "\\s+on a2.attrelid = c2.oid" + //$NON-NLS-1$
+ "\\s+and a2.attnum = confkey\\[i\\]\\)" + //$NON-NLS-1$
+ "\\s+left outer join pg_catalog.pg_constraint cn" + //$NON-NLS-1$
+ "\\s+on cn.conrelid = ref.confrelid" + //$NON-NLS-1$
+ "\\s+and cn.contype = 'p'\\)" + //$NON-NLS-1$
+ "\\s+order by ref.oid, ref.i"); //$NON-NLS-1$
+
+ private static Pattern procParametersPattern = Pattern.compile("select proname,
proretset, prorettype, pronargs, proargtypes, " + //$NON-NLS-1$
+ "nspname, p.oid, atttypid, attname, proargnames, proargmodes, proallargtypes from
((pg_catalog.pg_namespace n inner join " + //$NON-NLS-1$
+ "pg_catalog.pg_proc p on p.pronamespace = n.oid) inner join pg_type t on t.oid =
p.prorettype) left outer join " + //$NON-NLS-1$
+ "pg_attribute a on a.attrelid = t.typrelid and attnum > 0 and not
attisdropped " + //$NON-NLS-1$
+ "where has_function_privilege(p.oid, 'EXECUTE') and nspname like
E'(\\w+)' " + //$NON-NLS-1$
+ "and proname like E'(\\w+)' " + //$NON-NLS-1$
+ "order by nspname, proname, p.oid, attnum"); //$NON-NLS-1$
+
+
+
+ private static Pattern deallocatePattern = Pattern.compile("DEALLOCATE
\"(\\w+\\d+_*)\""); //$NON-NLS-1$
+ private static Pattern releasePattern = Pattern.compile("RELEASE
(\\w+\\d+_*)"); //$NON-NLS-1$
+ private static Pattern savepointPattern = Pattern.compile("SAVEPOINT
(\\w+\\d+_*)"); //$NON-NLS-1$
+ private static Pattern rollbackPattern =
Pattern.compile("ROLLBACK\\s*(to)*\\s*(\\w+\\d+_*)*"); //$NON-NLS-1$
+
+ private ODBCClientRemote client;
+ private Properties props;
+ private AuthenticationType authType;
+ private ConnectionImpl connection;
+
+ // TODO: this is unbounded map; need to define some boundaries as to how many stmts each
session can have
+ private Map<String, Prepared> preparedMap = Collections.synchronizedMap(new
HashMap<String, Prepared>());
+ private Map<String, Portal> portalMap = Collections.synchronizedMap(new
HashMap<String, Portal>());
+
+ public ODBCServerRemoteImpl(ODBCClientRemote client, AuthenticationType authType) {
+ this.client = client;
+ this.authType = authType;
+ }
+
+ @Override
+ public void initialize(Properties props) {
+ this.props = props;
+
+ this.client.initialized(this.props);
+
+ if (this.authType.equals(AuthenticationType.CLEARTEXT)) {
+ this.client.useClearTextAuthentication();
+ }
+ else if (this.authType.equals(AuthenticationType.MD5)) {
+ // TODO: implement MD5 auth type
+ }
+ }
+
+ @Override
+ public void logon(String databaseName, String user, String password) {
+ try {
+ this.connection =
(ConnectionImpl)DriverManager.getConnection("jdbc:teiid:"+databaseName, user,
password); //$NON-NLS-1$
+ int hash = this.connection.getConnectionId().hashCode();
+ this.client.authenticationSucess(hash, hash);
+ sync();
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ terminate();
+ }
+ }
+
+ @Override
+ public void prepare(String prepareName, String sql, int[] paramType) {
+ if (this.connection != null) {
+
+ if (prepareName == null || prepareName.length() == 0) {
+ prepareName = UNNAMED;
+ }
+
+ if (sql != null) {
+ String modfiedSQL = sql.replaceAll("\\$\\d+", "?");//$NON-NLS-1$
//$NON-NLS-2$
+ try {
+ // close if the name is already used or the unnamed prepare; otherwise
+ // stmt is alive until session ends.
+ Prepared previous = this.preparedMap.remove(prepareName);
+ if (previous != null) {
+ previous.stmt.close();
+ }
+
+ PreparedStatement stmt = this.connection.prepareStatement(modfiedSQL);
+ this.preparedMap.put(prepareName, new Prepared(prepareName, sql, stmt, paramType));
+ this.client.prepareCompleted(prepareName);
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ }
+ else {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("no_active_connection"));
//$NON-NLS-1$
+ }
+ }
+
+ @Override
+ public void bindParameters(String bindName, String prepareName, int paramCount, Object[]
params, int resultCodeCount, int[] resultColumnFormat) {
+ // An unnamed portal is destroyed at the end of the transaction, or as soon as
+ // the next Bind statement specifying the unnamed portal as destination is issued.
+ this.portalMap.remove(UNNAMED);
+
+ if (prepareName == null || prepareName.length() == 0) {
+ prepareName = UNNAMED;
+ }
+
+ Prepared previous = this.preparedMap.get(prepareName);
+ if (previous == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("bad_binding",
prepareName)); //$NON-NLS-1$
+ }
+
+ if (bindName == null || bindName.length() == 0) {
+ bindName = UNNAMED;
+ }
+
+ try {
+ for (int i = 0; i < paramCount; i++) {
+ previous.stmt.setObject(i+1, params[i]);
+ }
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+
+ this.portalMap.put(bindName, new Portal(bindName, prepareName, previous.sql,
previous.stmt, resultColumnFormat));
+ this.client.bindComplete();
+ }
+
+ @Override
+ public void unsupportedOperation(String msg) {
+ this.client.errorOccurred(msg);
+ sync();
+ }
+
+ @Override
+ public void execute(String bindName, int maxRows) {
+ if (bindName == null || bindName.length() == 0) {
+ bindName = UNNAMED;
+ }
+
+ Portal query = this.portalMap.get(bindName);
+ if (query == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("not_bound",
bindName)); //$NON-NLS-1$
+ sync();
+ }
+ else {
+ if (query.sql.trim().isEmpty()) {
+ this.client.emptyQueryReceived();
+ return;
+ }
+
+ PreparedStatement stmt = query.stmt;
+ try {
+ // maxRows = 0, means unlimited.
+ if (maxRows != 0) {
+ stmt.setMaxRows(maxRows);
+ }
+
+ boolean result = stmt.execute();
+ if (result) {
+ try {
+ ResultSet rs = stmt.getResultSet();
+ this.client.sendResults(query.sql, rs, true);
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ } else {
+ this.client.sendUpdateCount(query.sql, stmt.getUpdateCount());
+ }
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ }
+
+ private String fixSQL(String sql) {
+ String modified = sql;
+ // select current_schema()
+ // set client_encoding to 'WIN1252'
+ if (sql != null) {
+ // selects are coming with "select\t" so using a space after
"select" does not always work
+ if (sql.startsWith("select") || sql.startsWith("SELECT")) {
//$NON-NLS-1$ //$NON-NLS-2$
+ modified = sql.replace('\n', ' ');
+
+ Matcher m = null;
+ if ((m = pkPattern.matcher(modified)).matches()) {
+ modified = new StringBuffer("SELECT k.Name AS attname, convert(Position, short)
AS attnum, TableName AS relname, SchemaName AS nspname, TableName AS relname")
//$NON-NLS-1$
+ .append(" FROM SYS.KeyColumns k") //$NON-NLS-1$
+ .append(" WHERE ") //$NON-NLS-1$
+ .append(" UCASE(SchemaName)").append(" LIKE
'").append(m.group(2)).append("'")//$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
+ .append(" AND UCASE(TableName)") .append(" LIKE
'").append(m.group(1)).append("'")//$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$
+ .append(" AND KeyType LIKE 'Primary'") //$NON-NLS-1$
+ .append(" ORDER BY attnum").toString(); //$NON-NLS-1$
+ }
+ else if ((m = pkKeyPattern.matcher(modified)).matches()) {
+ modified = "SELECT NULL, NULL, NULL, NULL, NULL FROM (SELECT 1) as X WHERE
0=1"; //$NON-NLS-1$
+ }
+ else if ((m = fkPattern.matcher(modified)).matches()){
+ modified = "SELECT PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, PKCOLUMN_NAME,
FKTABLE_CAT, FKTABLE_SCHEM, "+//$NON-NLS-1$
+ "FKTABLE_NAME, FKCOLUMN_NAME, KEY_SEQ, UPDATE_RULE, DELETE_RULE, FK_NAME,
PK_NAME, DEFERRABILITY "+//$NON-NLS-1$
+ "FROM SYS.ReferenceKeyColumns WHERE PKTABLE_NAME LIKE
'"+m.group(14)+"' and PKTABLE_SCHEM LIKE
'"+m.group(15)+"'";//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ else {
+ modified = modified.replaceAll("E'", "'"); //$NON-NLS-1$
//$NON-NLS-2$
+ modified = modified.replaceAll("::[A-Za-z0-9]*", " ");
//$NON-NLS-1$ //$NON-NLS-2$
+ modified = modified.replaceAll("'pg_toast'",
"'SYS'"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // since teiid can work with multiple schemas at a given time
+ // this call resolution is ambiguous
+ if (sql.equalsIgnoreCase("select current_schema()")) { //$NON-NLS-1$
+ modified = "SELECT ''"; //$NON-NLS-1$
+ }
+ }
+
+ }
+ else if (sql.equalsIgnoreCase("show max_identifier_length")){ //$NON-NLS-1$
+ modified = "select 63"; //$NON-NLS-1$
+ }
+ else {
+ Matcher m = setPattern.matcher(sql);
+ if (m.matches()) {
+ if (m.group(2).equalsIgnoreCase("client_encoding")) { //$NON-NLS-1$
+ this.client.setEncoding(PGCharsetConverter.getCharset(m.group(4)));
+ modified = "SELECT 'SET'"; //$NON-NLS-1$
+ }
+ }
+ else if (modified.equalsIgnoreCase("BEGIN")) { //$NON-NLS-1$
+ try {
+ this.connection.setAutoCommit(false);
+ modified = "SELECT 'BEGIN'"; //$NON-NLS-1$
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ else if (modified.equalsIgnoreCase("COMMIT")) { //$NON-NLS-1$
+ try {
+ this.connection.setAutoCommit(true);
+ modified = "SELECT 'COMMIT'"; //$NON-NLS-1$
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ else if ((m = rollbackPattern.matcher(modified)).matches()) {
+ try {
+ if (!this.connection.getAutoCommit()) {
+ this.connection.rollback();
+ this.connection.setAutoCommit(true);
+ modified = "SELECT 'ROLLBACK'"; //$NON-NLS-1$
+ }
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ else if ((m = savepointPattern.matcher(modified)).matches()) {
+ modified = "SELECT 'SAVEPOINT'"; //$NON-NLS-1$
+ }
+ else if ((m = releasePattern.matcher(modified)).matches()) {
+ modified = "SELECT 'RELEASE'"; //$NON-NLS-1$
+ }
+ else if ((m = deallocatePattern.matcher(modified)).matches()) {
+ closePreparedStatement(m.group(1));
+ modified = "SELECT 'DEALLOCATE'"; //$NON-NLS-1$
+ }
+ }
+ if (modified != null && !modified.equalsIgnoreCase(sql)) {
+ LogManager.logDetail(LogConstants.CTX_ODBC, "Modified Query:"+modified);
//$NON-NLS-1$
+ }
+ }
+ return modified;
+ }
+
+ @Override
+ public void executeQuery(String query) {
+
+ //46.2.3 Note that a simple Query message also destroys the unnamed portal.
+ this.portalMap.remove(UNNAMED);
+ this.preparedMap.remove(UNNAMED);
+
+ if (query.trim().length() == 0) {
+ this.client.emptyQueryReceived();
+ sync();
+ return;
+ }
+
+ try {
+ ScriptReader reader = new ScriptReader(new StringReader(query));
+ String s = fixSQL(reader.readStatement());
+ while (s != null) {
+ Statement stmt = null;
+ try {
+ stmt = this.connection.createStatement();
+ boolean result = stmt.execute(s);
+ if (result) {
+ this.client.sendResults(s, stmt.getResultSet(), true);
+ } else {
+ this.client.sendUpdateCount(s, stmt.getUpdateCount());
+ }
+ s = fixSQL(reader.readStatement());
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ break;
+ } finally {
+ try {
+ stmt.close();
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ break;
+ }
+ }
+ }
+ } catch(IOException e) {
+ this.client.errorOccurred(e);
+ }
+ sync();
+ }
+
+ @Override
+ public void getParameterDescription(String prepareName) {
+ if (prepareName == null || prepareName.length() == 0) {
+ prepareName = UNNAMED;
+ }
+ Prepared query = this.preparedMap.get(prepareName);
+ if (query == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("no_stmt_found",
prepareName)); //$NON-NLS-1$
+ sync();
+ }
+ else {
+ try {
+ this.client.sendParameterDescription(query.stmt.getParameterMetaData(),
query.paramType);
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ }
+
+ @Override
+ public void getResultSetMetaDataDescription(String bindName) {
+ if (bindName == null || bindName.length() == 0) {
+ bindName = UNNAMED;
+ }
+ Portal query = this.portalMap.get(bindName);
+ if (query == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("not_bound",
bindName)); //$NON-NLS-1$
+ }
+ else {
+ try {
+ this.client.sendResultSetDescription(query.stmt.getMetaData());
+ } catch (SQLException e) {
+ this.client.errorOccurred(e);
+ }
+ }
+ }
+
+ @Override
+ public void sync() {
+ boolean inTxn = false;
+ boolean failedTxn = false;
+ try {
+ if (!this.connection.getAutoCommit()) {
+ inTxn = true;
+ }
+ } catch (SQLException e) {
+ failedTxn = true;
+ }
+ this.client.ready(inTxn, failedTxn);
+ }
+
+ @Override
+ public void cancel() {
+ // TODO Auto-generated method stub
+ }
+
+ @Override
+ public void closeBoundStatement(String bindName) {
+ if (bindName == null || bindName.length() == 0) {
+ bindName = UNNAMED;
+ }
+ Portal query = this.portalMap.remove(bindName);
+ if (query == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("not_bound",
bindName)); //$NON-NLS-1$
+ }
+ else {
+ try {
+ if (this.connection.getAutoCommit()) {
+ // After checking the pg's client code I do not see it send a
+ // close of the Prepare stmt as per the wire protocol, it only sends
+ // bound close. Since it also have issue with
+ //
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1007690&am...
+ // treating the prepare and bound as same for now.
+ closePreparedStatement(bindName);
+ }
+ } catch (SQLException e) {
+ closePreparedStatement(bindName);
+ }
+ }
+ }
+
+ @Override
+ public void closePreparedStatement(String preparedName) {
+ if (preparedName == null || preparedName.length() == 0) {
+ preparedName = UNNAMED;
+ }
+ Prepared query = this.preparedMap.remove(preparedName);
+ if (query == null) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("no_stmt_found",
preparedName)); //$NON-NLS-1$
+ }
+ else {
+ // Close all the bound messages off of this prepared
+ // TODO: can there be more than one?
+ this.portalMap.remove(preparedName);
+
+ try {
+ query.stmt.close();
+ this.client.statementClosed();
+ } catch (SQLException e) {
+ this.client.errorOccurred(RuntimePlugin.Util.getString("error_closing_stmt",
preparedName)); //$NON-NLS-1$
+ }
+ }
+ }
+
+ @Override
+ public void terminate() {
+
+ for (Portal p: this.portalMap.values()) {
+ try {
+ p.stmt.close();
+ } catch (SQLException e) {
+ //ignore
+ }
+ }
+
+ for (Prepared p:this.preparedMap.values()) {
+ try {
+ p.stmt.close();
+ } catch (SQLException e) {
+ //ignore
+ }
+ }
+
+ try {
+ if (this.connection != null) {
+ this.connection.close();
+ }
+ } catch (SQLException e) {
+ //ignore
+ }
+ this.client.terminated();
+ }
+
+ @Override
+ public void flush() {
+ this.client.flush();
+ }
+
+ /**
+ * Represents a PostgreSQL Prepared object.
+ */
+ static class Prepared {
+
+ public Prepared (String name, String sql, PreparedStatement stmt, int[] paramType)
{
+ this.name = name;
+ this.sql = sql;
+ this.stmt = stmt;
+ this.paramType = paramType;
+ }
+
+ /**
+ * The object name.
+ */
+ String name;
+
+ /**
+ * The SQL statement.
+ */
+ String sql;
+
+ /**
+ * The prepared statement.
+ */
+ PreparedStatement stmt;
+
+ /**
+ * The list of parameter types (if set).
+ */
+ int[] paramType;
+ }
+
+ /**
+ * Represents a PostgreSQL Portal object.
+ */
+ static class Portal {
+
+ public Portal(String name, String preparedName, String sql, PreparedStatement stmt,
int[] resultColumnformat) {
+ this.name = name;
+ this.preparedName = preparedName;
+ this.sql = sql;
+ this.stmt = stmt;
+ this.resultColumnFormat = resultColumnformat;
+ }
+ /**
+ * The portal name.
+ */
+ String name;
+
+
+ String preparedName;
+
+ /**
+ * The SQL statement.
+ */
+ String sql;
+
+ /**
+ * The format used in the result set columns (if set).
+ */
+ int[] resultColumnFormat;
+
+ /**
+ * The prepared statement.
+ */
+ PreparedStatement stmt;
+ }
+
+
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/odbc/ScriptReader.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/odbc/ScriptReader.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/odbc/ScriptReader.java 2010-07-16 19:10:00 UTC
(rev 2354)
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2004-2010 H2 Group. Multiple-Licensed under the H2 License,
+ * Version 1.0, and under the Eclipse Public License, Version 1.0
+ * (
http://h2database.com/html/license.html).
+ * Initial Developer: H2 Group
+ */
+package org.teiid.odbc;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.util.Arrays;
+
+/**
+ * This class can split SQL scripts to single SQL statements.
+ * Each SQL statement ends with the character ';', however it is ignored
+ * in comments and quotes.
+ */
+public class ScriptReader {
+ private Reader reader;
+ private char[] buffer;
+ private int bufferPos;
+ private int bufferStart = -1;
+ private int bufferEnd;
+ private boolean endOfFile;
+ private boolean insideRemark;
+ private boolean blockRemark;
+ private boolean skipRemarks;
+ private int remarkStart;
+
+ private static int IO_BUFFER_SIZE = 4096;
+
+ /**
+ * Create a new SQL script reader from the given reader
+ *
+ * @param reader the reader
+ */
+ public ScriptReader(Reader reader) {
+ this.reader = reader;
+ buffer = new char[IO_BUFFER_SIZE * 2];
+ }
+
+ /**
+ * Close the underlying reader.
+ */
+ public void close() throws IOException{
+ reader.close();
+ }
+
+ /**
+ * Read a statement from the reader. This method returns null if the end has
+ * been reached.
+ *
+ * @return the SQL statement or null
+ */
+ public String readStatement() throws IOException{
+ if (endOfFile) {
+ return null;
+ }
+ return readStatementLoop();
+ }
+
+ private String readStatementLoop() throws IOException {
+ bufferStart = bufferPos;
+ int c = read();
+ while (true) {
+ if (c < 0) {
+ endOfFile = true;
+ if (bufferPos - 1 == bufferStart) {
+ return null;
+ }
+ break;
+ } else if (c == ';') {
+ break;
+ }
+ switch (c) {
+ case '$': {
+ c = read();
+ if (c == '$' && (bufferPos - bufferStart < 3 ||
buffer[bufferPos - 3] <= ' ')) {
+ // dollar quoted string
+ while (true) {
+ c = read();
+ if (c < 0) {
+ break;
+ }
+ if (c == '$') {
+ c = read();
+ if (c < 0) {
+ break;
+ }
+ if (c == '$') {
+ break;
+ }
+ }
+ }
+ c = read();
+ }
+ break;
+ }
+ case '\'':
+ while (true) {
+ c = read();
+ if (c < 0) {
+ break;
+ }
+ if (c == '\'') {
+ break;
+ }
+ }
+ c = read();
+ break;
+ case '"':
+ while (true) {
+ c = read();
+ if (c < 0) {
+ break;
+ }
+ if (c == '\"') {
+ break;
+ }
+ }
+ c = read();
+ break;
+ case '/': {
+ c = read();
+ if (c == '*') {
+ // block comment
+ startRemark(false);
+ while (true) {
+ c = read();
+ if (c < 0) {
+ break;
+ }
+ if (c == '*') {
+ c = read();
+ if (c < 0) {
+ clearRemark();
+ break;
+ }
+ if (c == '/') {
+ endRemark();
+ break;
+ }
+ }
+ }
+ c = read();
+ } else if (c == '/') {
+ // single line comment
+ startRemark(false);
+ while (true) {
+ c = read();
+ if (c < 0) {
+ clearRemark();
+ break;
+ }
+ if (c == '\r' || c == '\n') {
+ endRemark();
+ break;
+ }
+ }
+ c = read();
+ }
+ break;
+ }
+ case '-': {
+ c = read();
+ if (c == '-') {
+ // single line comment
+ startRemark(false);
+ while (true) {
+ c = read();
+ if (c < 0) {
+ clearRemark();
+ break;
+ }
+ if (c == '\r' || c == '\n') {
+ endRemark();
+ break;
+ }
+ }
+ c = read();
+ }
+ break;
+ }
+ default: {
+ c = read();
+ }
+ }
+ }
+ return new String(buffer, bufferStart, bufferPos - 1 - bufferStart);
+ }
+
+ private void startRemark(boolean block) {
+ blockRemark = block;
+ remarkStart = bufferPos - 2;
+ insideRemark = true;
+ }
+
+ private void endRemark() {
+ clearRemark();
+ insideRemark = false;
+ }
+
+ private void clearRemark() {
+ if (skipRemarks) {
+ Arrays.fill(buffer, remarkStart, bufferPos, ' ');
+ }
+ }
+
+ private int read() throws IOException {
+ if (bufferPos >= bufferEnd) {
+ return readBuffer();
+ }
+ return buffer[bufferPos++];
+ }
+
+ private int readBuffer() throws IOException {
+ if (endOfFile) {
+ return -1;
+ }
+ int keep = bufferPos - bufferStart;
+ if (keep > 0) {
+ char[] src = buffer;
+ if (keep + IO_BUFFER_SIZE > src.length) {
+ buffer = new char[src.length * 2];
+ }
+ System.arraycopy(src, bufferStart, buffer, 0, keep);
+ }
+ remarkStart -= bufferStart;
+ bufferStart = 0;
+ bufferPos = keep;
+ int len = reader.read(buffer, keep, IO_BUFFER_SIZE);
+ if (len == -1) {
+ // ensure bufferPos > bufferEnd
+ bufferEnd = -1024;
+ endOfFile = true;
+ // ensure the right number of characters are read
+ // in case the input buffer is still used
+ bufferPos++;
+ return -1;
+ }
+ bufferEnd = keep + len;
+ return buffer[bufferPos++];
+ }
+
+ /**
+ * Check if this is the last statement, and if the single line or block
+ * comment is not finished yet.
+ *
+ * @return true if the current position is inside a remark
+ */
+ public boolean isInsideRemark() {
+ return insideRemark;
+ }
+
+ /**
+ * If currently inside a remark, this method tells if it is a block comment
+ * (true) or single line comment (false)
+ *
+ * @return true if inside a block comment
+ */
+ public boolean isBlockRemark() {
+ return blockRemark;
+ }
+
+ /**
+ * If comments should be skipped completely by this reader.
+ *
+ * @param skipRemarks true if comments should be skipped
+ */
+ public void setSkipRemarks(boolean skipRemarks) {
+ this.skipRemarks = skipRemarks;
+ }
+
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/odbc/ScriptReader.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/transport/ODBCClientInstance.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/ODBCClientInstance.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/transport/ODBCClientInstance.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,92 @@
+/*
+ * 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.transport;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
+import org.teiid.core.util.ReflectionHelper;
+import org.teiid.net.CommunicationException;
+import org.teiid.net.socket.ObjectChannel;
+import org.teiid.net.socket.ServiceInvocationStruct;
+import org.teiid.odbc.ODBCClientRemote;
+import org.teiid.odbc.ODBCServerRemote;
+import org.teiid.odbc.ODBCServerRemoteImpl;
+
+public class ODBCClientInstance implements ChannelListener{
+
+ private ODBCClientRemote client;
+ private ODBCServerRemoteImpl server;
+ private ReflectionHelper serverProxy = new ReflectionHelper(ODBCServerRemote.class);
+
+ public ODBCClientInstance(final ObjectChannel channel,
ODBCServerRemote.AuthenticationType authType) {
+ this.client =
(ODBCClientRemote)Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[]
{ODBCClientRemote.class}, new InvocationHandler() {
+ @Override
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ ServiceInvocationStruct message = new ServiceInvocationStruct(args,
method.getName(),ODBCServerRemote.class);
+ channel.write(message);
+ return null;
+ }
+ });
+ this.server = new ODBCServerRemoteImpl(this.client, authType);
+ }
+
+ @Override
+ public void disconnected() {
+ server.terminate();
+ }
+
+ @Override
+ public void exceptionOccurred(Throwable t) {
+ server.terminate();
+ }
+
+ @Override
+ public void onConnection() throws CommunicationException {
+ }
+
+ @Override
+ public void receivedMessage(Object msg) throws CommunicationException {
+ if (msg instanceof ServiceInvocationStruct) {
+ processMessage((ServiceInvocationStruct)msg);
+ }
+ }
+
+ private void processMessage(ServiceInvocationStruct serviceStruct) {
+ try {
+ Method m = this.serverProxy.findBestMethodOnTarget(serviceStruct.methodName,
serviceStruct.args);
+ try {
+ // since the postgres protocol can produce more than single response
+ // objects to a request, all the methods are designed to return void.
+ // and relies on client interface to build the responses.
+ m.invoke(this.server, serviceStruct.args);
+ } catch (InvocationTargetException e) {
+ throw e.getCause();
+ }
+ } catch (Throwable e) {
+ this.client.errorOccurred(e);
+ }
+ }
+
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/transport/ODBCClientInstance.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/transport/ODBCSocketListener.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/ODBCSocketListener.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/transport/ODBCSocketListener.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,67 @@
+/*
+ * 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.transport;
+
+import javax.net.ssl.SSLEngine;
+
+import org.jboss.netty.channel.ChannelPipeline;
+import org.jboss.netty.channel.DefaultChannelPipeline;
+import org.jboss.netty.handler.ssl.SslHandler;
+import org.teiid.common.buffer.StorageManager;
+import org.teiid.net.socket.ObjectChannel;
+import org.teiid.odbc.ODBCServerRemote;
+
+public class ODBCSocketListener extends SocketListener {
+ private ODBCServerRemote.AuthenticationType authType =
ODBCServerRemote.AuthenticationType.CLEARTEXT;
+
+ public ODBCSocketListener(SocketConfiguration config, ClientServiceRegistryImpl csr,
StorageManager storageManager) {
+ super(config, csr, storageManager);
+ }
+
+ @Override
+ protected SSLAwareChannelHandler createChannelPipelineFactory(final SSLConfiguration
config, final StorageManager storageManager) {
+ return new SSLAwareChannelHandler(this, config,
Thread.currentThread().getContextClassLoader(), storageManager) {
+ public ChannelPipeline getPipeline() throws Exception {
+ ChannelPipeline pipeline = new DefaultChannelPipeline();
+
+ SSLEngine engine = config.getServerSSLEngine();
+ if (engine != null) {
+ pipeline.addLast("ssl", new SslHandler(engine)); //$NON-NLS-1$
+ }
+ pipeline.addLast("odbcFrontendProtocol", new PgFrontendProtocol(1
<< 20)); //$NON-NLS-1$
+ pipeline.addLast("odbcBackendProtocol", new PgBackendProtocol());
//$NON-NLS-1$
+ pipeline.addLast("handler", this); //$NON-NLS-1$
+ return pipeline;
+ }
+ };
+ }
+
+ @Override
+ public ChannelListener createChannelListener(ObjectChannel channel) {
+ return new ODBCClientInstance(channel, this.authType);
+ }
+
+ public void setAuthenticationType(String value) {
+ this.authType = ODBCServerRemote.AuthenticationType.valueOf(value);
+ }
+
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/transport/ODBCSocketListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/transport/PGCharsetConverter.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/PGCharsetConverter.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/transport/PGCharsetConverter.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,72 @@
+/*
+ * 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.transport;
+
+import java.nio.charset.Charset;
+import java.util.HashMap;
+
+/**
+ * These are mappings between the Postgres supported character sets to the Java
character sets.
+ */
+public class PGCharsetConverter {
+ private static HashMap<String, Charset> charSetMap = new HashMap<String,
Charset>();
+
+ static {
+ charSetMap.put("BIG5", Charset.forName("Big5")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("EUC_CN", Charset.forName("GB2312")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("EUC_JP", Charset.forName("EUC-JP")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("EUC_KR", Charset.forName("EUC-KR")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("EUC_TW", Charset.forName("EUC-TW")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("GB18030", Charset.forName("GB18030"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("GBK", Charset.forName("GBK")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("JOHAB", Charset.forName("JOHAB")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("KOI8", Charset.forName("KOI8-U")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("ISO_8859_5", Charset.forName("ISO-8859-5"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("ISO_8859_5", Charset.forName("ISO-8859-6"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("ISO_8859_5", Charset.forName("ISO-8859-7"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("ISO_8859_5", Charset.forName("ISO-8859-8"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN1", Charset.forName("ISO-8859-1"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN2", Charset.forName("ISO-8859-2"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN3", Charset.forName("ISO-8859-3"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN4", Charset.forName("ISO-8859-4"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN5", Charset.forName("ISO-8859-9"));
//$NON-NLS-1$ //$NON-NLS-2$
+ //charSetMap.put("LATIN6", Charset.forName("ISO-8859-10"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN7", Charset.forName("ISO-8859-13"));
//$NON-NLS-1$ //$NON-NLS-2$
+ //charSetMap.put("LATIN8", Charset.forName("ISO-8859-14"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("LATIN9", Charset.forName("ISO-8859-15"));
//$NON-NLS-1$ //$NON-NLS-2$
+ //charSetMap.put("LATIN10", Charset.forName("ISO-8859-16"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("SJIS", Charset.forName("windows-932"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("UHC", Charset.forName("windows-949"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("UTF8", Charset.forName("UTF-8")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("WIN866", Charset.forName("cp866")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("WIN874", Charset.forName("cp874")); //$NON-NLS-1$
//$NON-NLS-2$
+ charSetMap.put("WIN1250", Charset.forName("windows-1250"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("WIN1251", Charset.forName("windows-1251"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("WIN1252", Charset.forName("windows-1252"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("WIN1256", Charset.forName("windows-1256"));
//$NON-NLS-1$ //$NON-NLS-2$
+ charSetMap.put("WIN1258", Charset.forName("windows-1258"));
//$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ public static Charset getCharset(String name) {
+ return charSetMap.get(name);
+ }
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/transport/PGCharsetConverter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/transport/PgBackendProtocol.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/PgBackendProtocol.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/transport/PgBackendProtocol.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,586 @@
+
+/*
+ * 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.transport;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.nio.charset.Charset;
+import java.sql.ParameterMetaData;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Properties;
+
+import org.jboss.netty.buffer.ChannelBuffer;
+import org.jboss.netty.buffer.ChannelBuffers;
+import org.jboss.netty.channel.ChannelDownstreamHandler;
+import org.jboss.netty.channel.ChannelEvent;
+import org.jboss.netty.channel.ChannelHandlerContext;
+import org.jboss.netty.channel.ChannelPipelineCoverage;
+import org.jboss.netty.channel.Channels;
+import org.jboss.netty.channel.MessageEvent;
+import org.teiid.core.util.ReflectionHelper;
+import org.teiid.jdbc.TeiidSQLException;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.net.socket.ServiceInvocationStruct;
+import org.teiid.odbc.ODBCClientRemote;
+
+/**
+ * Represents the messages going from Server --> PG ODBC Client
+ * Some parts of this code is taken from H2's implementation of ODBC
+ */
+@SuppressWarnings("nls")
+@ChannelPipelineCoverage("one")
+public class PgBackendProtocol implements ChannelDownstreamHandler, ODBCClientRemote {
+
+ private static final int PG_TYPE_VARCHAR = 1043;
+
+ private static final int PG_TYPE_BOOL = 16;
+ private static final int PG_TYPE_BYTEA = 17;
+ private static final int PG_TYPE_BPCHAR = 1042;
+ private static final int PG_TYPE_INT8 = 20;
+ private static final int PG_TYPE_INT2 = 21;
+ private static final int PG_TYPE_INT4 = 23;
+ private static final int PG_TYPE_TEXT = 25;
+ private static final int PG_TYPE_OID = 26;
+ private static final int PG_TYPE_FLOAT4 = 700;
+ private static final int PG_TYPE_FLOAT8 = 701;
+ private static final int PG_TYPE_UNKNOWN = 705;
+ private static final int PG_TYPE_TEXTARRAY = 1009;
+ private static final int PG_TYPE_DATE = 1082;
+ private static final int PG_TYPE_TIME = 1083;
+ private static final int PG_TYPE_TIMESTAMP_NO_TMZONE = 1114;
+ private static final int PG_TYPE_NUMERIC = 1700;
+
+ private DataOutputStream dataOut;
+ private ByteArrayOutputStream outBuffer;
+ private char messageType;
+ private Properties props;
+ private Charset encoding = Charset.forName("UTF-8");
+ private ReflectionHelper clientProxy = new ReflectionHelper(ODBCClientRemote.class);
+ private ChannelHandlerContext ctx;
+ private MessageEvent message;
+
+ @Override
+ public void handleDownstream(ChannelHandlerContext ctx, ChannelEvent evt) throws
Exception {
+ if (!(evt instanceof MessageEvent)) {
+ ctx.sendDownstream(evt);
+ return;
+ }
+
+ MessageEvent me = (MessageEvent) evt;
+ if (!(me.getMessage() instanceof ServiceInvocationStruct)) {
+ ctx.sendDownstream(evt);
+ return;
+ }
+ this.ctx = ctx;
+ this.message = me;
+ ServiceInvocationStruct serviceStruct = (ServiceInvocationStruct)me.getMessage();
+
+ try {
+ Method m = this.clientProxy.findBestMethodOnTarget(serviceStruct.methodName,
serviceStruct.args);
+ try {
+ m.invoke(this, serviceStruct.args);
+ } catch (InvocationTargetException e) {
+ throw e.getCause();
+ }
+ } catch (Throwable e) {
+ // TODO: handle this.
+ }
+ }
+
+ @Override
+ public void initialized(Properties props) {
+ this.props = props;
+ this.encoding = Charset.forName(props.getProperty("client_encoding",
"UTF-8"));
+ }
+
+ @Override
+ public void useClearTextAuthentication() {
+ try {
+ sendAuthenticationCleartextPassword();
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void authenticationSucess(int processId, int screctKey) {
+ try {
+ sendAuthenticationOk();
+ // server_version, server_encoding, client_encoding, application_name,
+ // is_superuser, session_authorization, DateStyle, IntervalStyle, TimeZone,
+ // integer_datetimes, and standard_conforming_strings.
+ // (server_encoding, TimeZone, and integer_datetimes were not reported
+ // by releases before 8.0; standard_conforming_strings was not reported by
+ // releases before 8.1; IntervalStyle was not reported by releases before 8.4;
+ // application_name was not reported by releases before 9.0.)
+
+ sendParameterStatus("client_encoding", this.encoding.name());
+ sendParameterStatus("DateStyle",
this.props.getProperty("DateStyle"));
+ sendParameterStatus("integer_datetimes", "off");
+ sendParameterStatus("is_superuser", "off");
+ sendParameterStatus("server_encoding", "SQL_ASCII");
+ sendParameterStatus("server_version", "8.1.4");
+ sendParameterStatus("session_authorization",
this.props.getProperty("user"));
+ sendParameterStatus("standard_conforming_strings", "off");
+ sendParameterStatus("application_name",
this.props.getProperty("application_name", "ODBCClient"));
+
+ // TODO PostgreSQL TimeZone
+ sendParameterStatus("TimeZone", "CET");
+
+ sendBackendKeyData(processId, screctKey);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void prepareCompleted(String preparedName) {
+ sendParseComplete();
+ }
+
+ @Override
+ public void bindComplete() {
+ sendBindComplete();
+ }
+
+ @Override
+ public void errorOccurred(String msg) {
+ try {
+ sendErrorResponse(msg);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void errorOccurred(Throwable t) {
+ try {
+ sendErrorResponse(t);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void ready(boolean inTransaction, boolean failedTransaction) {
+ try {
+ sendReadyForQuery(inTransaction, failedTransaction);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ public void setEncoding(Charset value) {
+ this.encoding = value;
+ }
+
+ @Override
+ public void sendParameterDescription(ParameterMetaData meta, int[] paramType) {
+ try {
+ try {
+ int count = meta.getParameterCount();
+ startMessage('t');
+ writeShort(count);
+ for (int i = 0; i < count; i++) {
+ int type;
+ if (paramType != null && paramType[i] != 0) {
+ type = paramType[i];
+ } else {
+ type = PG_TYPE_VARCHAR;
+ }
+ writeInt(type);
+ }
+ sendMessage();
+ } catch (SQLException e) {
+ sendErrorResponse(e);
+ }
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void sendResultSetDescription(ResultSetMetaData metaData) {
+ try {
+ try {
+ sendRowDescription(metaData);
+ } catch (SQLException e) {
+ sendErrorResponse(e);
+ }
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void sendResults(String sql, ResultSet rs, boolean describeRows) {
+ try {
+ try {
+ if (describeRows) {
+ ResultSetMetaData meta = rs.getMetaData();
+ sendRowDescription(meta);
+ }
+ while (rs.next()) {
+ sendDataRow(rs);
+ }
+ sendCommandComplete(sql, 0);
+ } catch (SQLException e) {
+ sendErrorResponse(e);
+ }
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void sendUpdateCount(String sql, int updateCount) {
+ try {
+ sendCommandComplete(sql, updateCount);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void statementClosed() {
+ startMessage('3');
+ sendMessage();
+ }
+
+ @Override
+ public void terminated() {
+ try {
+ trace("channel being terminated");
+ this.sendNoticeResponse("Connection closed");
+ this.ctx.getChannel().close();
+ } catch (IOException e) {
+ trace(e.getMessage());
+ }
+ }
+
+ @Override
+ public void flush() {
+ try {
+ this.dataOut.flush();
+ this.dataOut = null;
+ Channels.write(this.ctx.getChannel(), null);
+ } catch (IOException e) {
+ terminate(e);
+ }
+ }
+
+ @Override
+ public void emptyQueryReceived() {
+ sendEmptyQueryResponse();
+ }
+
+ private void terminate(Throwable t) {
+ trace("channel being terminated - "+t.getMessage());
+ this.ctx.getChannel().close();
+ }
+
+ private void sendEmptyQueryResponse() {
+ startMessage('I');
+ sendMessage();
+ }
+
+ private void sendCommandComplete(String sql, int updateCount) throws IOException {
+ startMessage('C');
+ sql = sql.trim().toUpperCase();
+ // TODO remove remarks at the beginning
+ String tag;
+ if (sql.startsWith("INSERT")) {
+ tag = "INSERT 0 " + updateCount;
+ } else if (sql.startsWith("DELETE")) {
+ tag = "DELETE " + updateCount;
+ } else if (sql.startsWith("UPDATE")) {
+ tag = "UPDATE " + updateCount;
+ } else if (sql.startsWith("SELECT") || sql.startsWith("CALL")) {
+ tag = "SELECT";
+ } else if (sql.startsWith("BEGIN")) {
+ tag = "BEGIN";
+ } else {
+ trace("Check command tag: " + sql);
+ tag = "UPDATE " + updateCount;
+ }
+ writeString(tag);
+ sendMessage();
+ }
+
+ private void sendDataRow(ResultSet rs) throws SQLException, IOException {
+ int columns = rs.getMetaData().getColumnCount();
+ String[] values = new String[columns];
+ for (int i = 0; i < columns; i++) {
+ values[i] = rs.getString(i + 1);
+ }
+ startMessage('D');
+ writeShort(columns);
+ for (String s : values) {
+ if (s == null) {
+ writeInt(-1);
+ } else {
+ // TODO write Binary data
+ byte[] d2 = s.getBytes(this.encoding);
+ writeInt(d2.length);
+ write(d2);
+ }
+ }
+ sendMessage();
+ }
+
+ private void sendErrorResponse(Throwable t) throws IOException {
+ trace(t.getMessage());
+ SQLException e = TeiidSQLException.create(t);
+ startMessage('E');
+ write('S');
+ writeString("ERROR");
+ write('C');
+ writeString(e.getSQLState());
+ write('M');
+ writeString(e.getMessage());
+ write('D');
+ writeString(e.toString());
+ write(0);
+ sendMessage();
+ }
+
+ private void sendNoData() {
+ startMessage('n');
+ sendMessage();
+ }
+
+ private void sendRowDescription(ResultSetMetaData meta) throws SQLException, IOException
{
+ if (meta == null) {
+ sendNoData();
+ } else {
+ int columns = meta.getColumnCount();
+ int[] types = new int[columns];
+ int[] precision = new int[columns];
+ String[] names = new String[columns];
+ for (int i = 0; i < columns; i++) {
+ names[i] = meta.getColumnName(i + 1);
+ int type = meta.getColumnType(i + 1);
+ type = convertType(type);
+ precision[i] = meta.getColumnDisplaySize(i + 1);
+ types[i] = type;
+ }
+ startMessage('T');
+ writeShort(columns);
+ for (int i = 0; i < columns; i++) {
+ writeString(names[i].toLowerCase());
+ // object ID
+ writeInt(0);
+ // attribute number of the column
+ writeShort(0);
+ // data type
+ writeInt(types[i]);
+ // pg_type.typlen
+ writeShort(getTypeSize(types[i], precision[i]));
+ // pg_attribute.atttypmod
+ writeInt(-1);
+ // text
+ writeShort(0);
+ }
+ sendMessage();
+ }
+ }
+
+ private int getTypeSize(int pgType, int precision) {
+ switch (pgType) {
+ case PG_TYPE_VARCHAR:
+ return Math.max(255, precision + 10);
+ default:
+ return precision + 4;
+ }
+ }
+
+ private void sendErrorResponse(String message) throws IOException {
+ trace("Exception: " + message);
+ startMessage('E');
+ write('S');
+ writeString("ERROR");
+ write('C');
+ // PROTOCOL VIOLATION
+ writeString("08P01");
+ write('M');
+ writeString(message);
+ sendMessage();
+ }
+
+ private void sendNoticeResponse(String message) throws IOException {
+ trace("notice: " + message);
+ startMessage('N');
+ write('S');
+ writeString("ERROR");
+ write('M');
+ writeString(message);
+ sendMessage();
+ }
+
+ private void sendParseComplete() {
+ startMessage('1');
+ sendMessage();
+ }
+
+ private void sendBindComplete() {
+ startMessage('2');
+ sendMessage();
+ }
+
+ private void sendAuthenticationCleartextPassword() throws IOException {
+ startMessage('R');
+ writeInt(3);
+ sendMessage();
+ }
+
+ private void sendAuthenticationOk() throws IOException {
+ startMessage('R');
+ writeInt(0);
+ sendMessage();
+ }
+
+ private void sendReadyForQuery(boolean inTransaction, boolean failedTransaction) throws
IOException {
+ startMessage('Z');
+ char c;
+ if (failedTransaction) {
+ // failed transaction block
+ c = 'E';
+ }
+ else {
+ if (inTransaction) {
+ // in a transaction block
+ c = 'T';
+ } else {
+ // idle
+ c = 'I';
+ }
+ }
+ write((byte) c);
+ sendMessage();
+ }
+
+ private void sendBackendKeyData(int processId, int screctKey) throws IOException {
+ startMessage('K');
+ writeInt(processId);
+ writeInt(screctKey);
+ sendMessage();
+ }
+
+ private void sendParameterStatus(String param, String value) throws IOException {
+ startMessage('S');
+ writeString(param);
+ writeString(value);
+ sendMessage();
+ }
+
+ private void writeString(String s) throws IOException {
+ write(s.getBytes(this.encoding));
+ write(0);
+ }
+
+ private void writeInt(int i) throws IOException {
+ dataOut.writeInt(i);
+ }
+
+ private void writeShort(int i) throws IOException {
+ dataOut.writeShort(i);
+ }
+
+ private void write(byte[] data) throws IOException {
+ dataOut.write(data);
+ }
+
+ private void write(int b) throws IOException {
+ dataOut.write(b);
+ }
+
+ private void startMessage(char newMessageType) {
+ this.messageType = newMessageType;
+ this.outBuffer = new ByteArrayOutputStream();
+ this.dataOut = new DataOutputStream(this.outBuffer);
+ }
+
+ private void sendMessage() {
+ byte[] buff = outBuffer.toByteArray();
+ int len = buff.length;
+ this.outBuffer = null;
+ this.dataOut = null;
+
+ // now build the wire contents.
+ ChannelBuffer buffer = ChannelBuffers.directBuffer(len+5);
+ buffer.writeByte((byte)this.messageType);
+ buffer.writeInt(len+4);
+ buffer.writeBytes(buff);
+
+ Channels.write(this.ctx, this.message.getFuture(), buffer,
this.message.getRemoteAddress());
+ }
+
+ private static void trace(String msg) {
+ LogManager.logTrace(LogConstants.CTX_ODBC, msg);
+ }
+
+ private static int convertType(final int type) {
+ switch (type) {
+ case Types.BOOLEAN:
+ return PG_TYPE_BOOL;
+ case Types.VARCHAR:
+ return PG_TYPE_VARCHAR;
+ case Types.CLOB:
+ return PG_TYPE_TEXT;
+ case Types.CHAR:
+ return PG_TYPE_BPCHAR;
+ case Types.SMALLINT:
+ return PG_TYPE_INT2;
+ case Types.INTEGER:
+ return PG_TYPE_INT4;
+ case Types.BIGINT:
+ return PG_TYPE_INT8;
+ case Types.DECIMAL:
+ return PG_TYPE_NUMERIC;
+ case Types.REAL:
+ return PG_TYPE_FLOAT4;
+ case Types.DOUBLE:
+ return PG_TYPE_FLOAT8;
+ case Types.TIME:
+ return PG_TYPE_TIME;
+ case Types.DATE:
+ return PG_TYPE_DATE;
+ case Types.TIMESTAMP:
+ return PG_TYPE_TIMESTAMP_NO_TMZONE;
+ case Types.VARBINARY:
+ return PG_TYPE_BYTEA;
+ case Types.BLOB:
+ return PG_TYPE_OID;
+ case Types.ARRAY:
+ return PG_TYPE_TEXTARRAY;
+ default:
+ return PG_TYPE_UNKNOWN;
+ }
+ }
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/transport/PgBackendProtocol.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/runtime/src/main/java/org/teiid/transport/PgFrontendProtocol.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/PgFrontendProtocol.java
(rev 0)
+++ trunk/runtime/src/main/java/org/teiid/transport/PgFrontendProtocol.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,351 @@
+/*
+ * 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.transport;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.StreamCorruptedException;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.Properties;
+
+import org.jboss.netty.buffer.ChannelBuffer;
+import org.jboss.netty.channel.Channel;
+import org.jboss.netty.channel.ChannelHandlerContext;
+import org.jboss.netty.channel.ChannelPipelineCoverage;
+import org.jboss.netty.handler.codec.frame.FrameDecoder;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.net.socket.ServiceInvocationStruct;
+import org.teiid.odbc.ODBCServerRemote;
+
+/**
+ * Represents the messages going from PG ODBC Client --> back end Server
+ * Some parts of this code is taken from H2's implementation of ODBC
+ */
+@SuppressWarnings("nls")
+@ChannelPipelineCoverage("one")
+public class PgFrontendProtocol extends FrameDecoder {
+
+ private int maxObjectSize;
+ private Byte messageType;
+ private Integer dataLength;
+ private boolean initialized = false;
+ private String encoding = "UTF-8"; // client can override this
+ private ODBCServerRemote odbcProxy;
+ private ServiceInvocationStruct message;
+ private String user;
+ private String databaseName;
+
+ public PgFrontendProtocol(int maxObjectSize) {
+
+ if (maxObjectSize <= 0) {
+ throw new IllegalArgumentException("maxObjectSize: " +
maxObjectSize); //$NON-NLS-1$
+ }
+
+ if (encoding == null) {
+ this.encoding = "UTF-8"; //$NON-NLS-1$
+ }
+
+ this.maxObjectSize = maxObjectSize;
+
+ // the proxy is used for generating the object based message based on
ServiceInvocationStruct class.
+ this.odbcProxy =
(ODBCServerRemote)Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class[]
{ODBCServerRemote.class}, new InvocationHandler() {
+ @Override
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ message = new ServiceInvocationStruct(args,
method.getName(),ODBCServerRemote.class);
+ return null;
+ }
+ });
+ }
+
+ @Override
+ protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer
buffer) throws Exception {
+
+ if (this.initialized && this.messageType == null) {
+ if (buffer.readableBytes() < 1 ) {
+ return null;
+ }
+
+ this.messageType = buffer.readByte();
+ if (this.messageType < 0 ) {
+ this.odbcProxy.terminate();
+ return message;
+ }
+ }
+
+ if (!this.initialized) {
+ this.messageType = 'I';
+ }
+
+ if (this.dataLength == null) {
+ if (buffer.readableBytes() < 4) {
+ return null;
+ }
+
+ this.dataLength = buffer.readInt();
+ if (this.dataLength <= 0) {
+ throw new StreamCorruptedException("invalid data length: " +
this.dataLength); //$NON-NLS-1$
+ }
+ if (this.dataLength > this.maxObjectSize) {
+ throw new StreamCorruptedException("data length too big: " +
this.dataLength + " (max: " + this.maxObjectSize + ')'); //$NON-NLS-1$
//$NON-NLS-2$
+ }
+ }
+
+ if (buffer.readableBytes() < this.dataLength - 4) {
+ return null;
+ }
+
+ byte[] data = createByteArray(this.dataLength - 4);
+ buffer.readBytes(data);
+ Object message = createRequestMessage(this.messageType, new
NullTerminatedStringDataInputStream(new DataInputStream(new ByteArrayInputStream(data, 0,
this.dataLength-4)), this.encoding));
+ this.dataLength = null;
+ this.messageType = null;
+ return message;
+ }
+
+ private Object createRequestMessage(byte messageType,
NullTerminatedStringDataInputStream data) throws IOException{
+ switch(messageType) {
+ case 'I':
+ this.initialized = true;
+ return buildInitialize(data);
+ case 'p':
+ return buildLogin(data);
+ case 'P':
+ return buildParse(data);
+ case 'B':
+ return buildBind(data);
+ case 'E':
+ return buildExecute(data);
+ case 'Q':
+ return buildExecuteQuery(data);
+ case 'D':
+ return buildDescribe(data);
+ case 'X':
+ return buildTeminate();
+ case 'S':
+ return buildSync();
+ case 'C':
+ return buildClose(data);
+ case 'H':
+ return buildFlush();
+ default:
+ return buildError();
+ }
+ }
+
+ private Object buildError() {
+ trace("error");
+ this.odbcProxy.unsupportedOperation("option not suported");
+ return message;
+ }
+
+ private Object buildFlush() {
+ trace("flush");
+ this.odbcProxy.flush();
+ return message;
+ }
+
+ private Object buildTeminate() {
+ trace("terminate");
+ this.odbcProxy.terminate();
+ return message;
+ }
+
+ private Object buildInitialize(NullTerminatedStringDataInputStream data) throws
IOException{
+ trace("Init");
+ Properties props = new Properties();
+
+ int version = data.readInt();
+ props.setProperty("version", Integer.toString(version));
+
+ trace("StartupMessage");
+ trace(" version " + version + " (" + (version >> 16) +
"." + (version & 0xff) + ")");
+
+ while (true) {
+ String param = data.readString();
+ if (param.length() == 0) {
+ break;
+ }
+ String value = data.readString();
+ props.setProperty(param, value);
+ trace(" param " + param + "=" + value);
+ }
+ this.user = props.getProperty("user");
+ this.databaseName = props.getProperty("database");
+ this.encoding = props.getProperty("client_encoding",
"UTF-8");
+ this.odbcProxy.initialize(props);
+ return message;
+ }
+
+ private Object buildLogin(NullTerminatedStringDataInputStream data) throws IOException{
+ trace("PasswordMessage");
+ String password = data.readString();
+ this.odbcProxy.logon(this.databaseName, this.user, password);
+ return message;
+ }
+
+ private Object buildParse(NullTerminatedStringDataInputStream data) throws IOException
{
+ trace("Parse");
+ String name = data.readString();
+ String sql = data.readString();
+
+ //The number of parameter data types specified (can be zero). Note that this is
not
+ //an indication of the number of parameters that might appear in the query
string, only
+ //the number that the frontend wants to prespecify types for.
+ int count = data.readShort();
+ int[] paramType = new int[count];
+ for (int i = 0; i < count; i++) {
+ int type = data.readInt();
+ paramType[i] = type;
+ }
+ this.odbcProxy.prepare(name, sql, paramType);
+ return message;
+ }
+
+ private Object buildBind(NullTerminatedStringDataInputStream data) throws IOException {
+ trace("Bind");
+ String bindName = data.readString();
+ String prepName = data.readString();
+
+ int formatCodeCount = data.readShort();
+ int[] formatCodes = new int[formatCodeCount];
+ for (int i = 0; i < formatCodeCount; i++) {
+ formatCodes[i] = data.readShort();
+ }
+
+ int paramCount = data.readShort();
+ Object[] params = new String[paramCount];
+ for (int i = 0; i < paramCount; i++) {
+ int paramLen = data.readInt();
+ byte[] paramdata = createByteArray(paramLen);
+ data.readFully(paramdata);
+
+ // the params can be either text or binary
+ if (formatCodeCount == 0 || (formatCodeCount == 1 && formatCodes[0]
== 0) || formatCodes[i] == 0) {
+ params[i] = new String(paramdata, this.encoding);
+ }
+ else {
+ params[i] = paramdata;
+ }
+ }
+
+ int resultCodeCount = data.readShort();
+ int[] resultColumnFormat = new int[resultCodeCount];
+ for (int i = 0; i < resultCodeCount; i++) {
+ resultColumnFormat[i] = data.readShort();
+ }
+ this.odbcProxy.bindParameters(bindName, prepName, paramCount, params,
resultCodeCount, resultColumnFormat);
+ return message;
+ }
+
+ private Object buildExecute(NullTerminatedStringDataInputStream data) throws IOException
{
+ String portalName = data.readString();
+ trace("Execute "+ portalName);
+ int maxRows = data.readShort();
+ this.odbcProxy.execute(portalName, maxRows);
+ return message;
+ }
+
+
+ private Object buildDescribe(NullTerminatedStringDataInputStream data) throws
IOException{
+ char type = (char) data.readByte();
+ String name = data.readString();
+ trace("Describe");
+ if (type == 'S') {
+ this.odbcProxy.getParameterDescription(name);
+ return message;
+ } else if (type == 'P') {
+ this.odbcProxy.getResultSetMetaDataDescription(name);
+ return message;
+ } else {
+ trace("expected S or P, got " + type);
+ this.odbcProxy.unsupportedOperation("expected S or P");
+ return message;
+ }
+ }
+
+
+ private Object buildSync() {
+ trace("sync");
+ this.odbcProxy.sync();
+ return message;
+ }
+
+ private Object buildExecuteQuery(NullTerminatedStringDataInputStream data) throws
IOException {
+ String query = data.readString();
+ trace("Query:"+query);
+ this.odbcProxy.executeQuery(query);
+ return message;
+ }
+
+ private byte[] createByteArray(int length) throws StreamCorruptedException{
+ try {
+ return new byte[length];
+ } catch(OutOfMemoryError e) {
+ throw new StreamCorruptedException("data too big: " + e.getMessage());
//$NON-NLS-1$
+ }
+ }
+
+ private Object buildClose(NullTerminatedStringDataInputStream data) throws IOException
{
+ char type = (char)data.read();
+ String name = data.readString();
+ if (type == 'S') {
+ this.odbcProxy.closePreparedStatement(name);
+ }
+ else if (type == 'P') {
+ this.odbcProxy.closeBoundStatement(name);
+ }
+ else {
+ this.odbcProxy.unsupportedOperation("unknown close type specified");
+ }
+ return message;
+ }
+
+ static class NullTerminatedStringDataInputStream extends DataInputStream{
+ private String encoding;
+
+ public NullTerminatedStringDataInputStream(DataInputStream in, String encoding) {
+ super(in);
+ this.encoding = encoding;
+ }
+
+ public String readString() throws IOException {
+ ByteArrayOutputStream buff = new ByteArrayOutputStream();
+ while (true) {
+ int x = read();
+ if (x <= 0) {
+ break;
+ }
+ buff.write(x);
+ }
+ return new String(buff.toByteArray(), this.encoding);
+ }
+ }
+
+ private static void trace(String msg) {
+ LogManager.logTrace(LogConstants.CTX_ODBC, msg);
+ }
+}
Property changes on:
trunk/runtime/src/main/java/org/teiid/transport/PgFrontendProtocol.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/runtime/src/main/java/org/teiid/transport/SocketListener.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/SocketListener.java 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/runtime/src/main/java/org/teiid/transport/SocketListener.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -82,7 +82,7 @@
ChannelFactory factory = new NioServerSocketChannelFactory(this.nettyPool,
this.nettyPool, Math.min(Runtime.getRuntime().availableProcessors(), maxWorkers));
ServerBootstrap bootstrap = new ServerBootstrap(factory);
- this.channelHandler = new SSLAwareChannelHandler(this, config,
Thread.currentThread().getContextClassLoader(), storageManager);
+ this.channelHandler = createChannelPipelineFactory(config, storageManager);
bootstrap.setPipelineFactory(channelHandler);
if (inputBufferSize != 0) {
bootstrap.setOption("receiveBufferSize", new
Integer(inputBufferSize)); //$NON-NLS-1$
@@ -117,6 +117,10 @@
return stats;
}
+ protected SSLAwareChannelHandler createChannelPipelineFactory(SSLConfiguration
config, StorageManager storageManager) {
+ return new SSLAwareChannelHandler(this, config,
Thread.currentThread().getContextClassLoader(), storageManager);
+ }
+
public ChannelListener createChannelListener(ObjectChannel channel) {
return new SocketClientInstance(channel, csr, this.isClientEncryptionEnabled);
}
Modified: trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
===================================================================
--- trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2010-07-15 20:06:02
UTC (rev 2353)
+++ trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2010-07-16 19:10:00
UTC (rev 2354)
@@ -306,3 +306,9 @@
required_property_not_exists=Required property "{0}" has no value. Deployment
is incomplete.
name_not_found=Translator property "name" not defined for the deployment
"{0}"
translator_type_not_found=The parent translator defined not found in configuration
"{0}"
+failed_to_load_odbc_metadata=Failed to load the ODBC metadata repository.
+no_active_connection=No active connection found
+bad_binding=Binding on a statement, that has not been prepared:{0}
+not_bound=No bound statement found with name {0}
+no_stmt_found=No prepared statement found with name {0}
+error_closing_stmt=Error closing portal statement {0}
\ No newline at end of file
Modified:
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractQueryTest.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractQueryTest.java 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractQueryTest.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -471,7 +471,7 @@
assertResults(expected);
}
else {
- printResults();
+ printResults(true);
}
}
}
\ No newline at end of file
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 2010-07-15
20:06:02 UTC (rev 2353)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/FakeServer.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -62,7 +62,11 @@
public FakeServer() {
this.logon = new LogonImpl(sessionService, null);
+
this.repo.setSystemStore(VDBMetadataFactory.getSystem());
+ this.repo.odbcEnabled();
+ this.repo.start();
+
this.sessionService.setVDBRepository(repo);
this.dqp.setBufferService(new FakeBufferService());
this.dqp.setTransactionService(new FakeTransactionService());
@@ -93,17 +97,15 @@
vdbMetaData.setStatus(VDB.Status.ACTIVE);
for (Schema schema : repo.getSystemStore().getSchemas().values()) {
- ModelMetaData model = new ModelMetaData();
- model.setName(schema.getName());
- vdbMetaData.addModel(model);
- model.addSourceMapping("source", "translator",
"jndi:source");
+ addModel(vdbMetaData, schema);
}
+ for (Schema schema : repo.getODBCStore().getSchemas().values()) {
+ addModel(vdbMetaData, schema);
+ }
+
for (Schema schema : metadata.getSchemas().values()) {
- ModelMetaData model = new ModelMetaData();
- model.setName(schema.getName());
- vdbMetaData.addModel(model);
- model.addSourceMapping("source", "translator",
"jndi:source");
+ addModel(vdbMetaData, schema);
}
try {
@@ -114,6 +116,13 @@
throw new RuntimeException(e);
}
}
+
+ private void addModel(VDBMetaData vdbMetaData, Schema schema) {
+ ModelMetaData model = new ModelMetaData();
+ model.setName(schema.getName());
+ vdbMetaData.addModel(model);
+ model.addSourceMapping("source", "translator",
"jndi:source");
+ }
public void undeployVDB(String vdbName) {
this.repo.removeVDB(vdbName, 1);
Modified:
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestMMDatabaseMetaData.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestMMDatabaseMetaData.java 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestMMDatabaseMetaData.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -59,7 +59,7 @@
- private static final boolean REPLACE_EXPECTED = false;
+ private static final boolean REPLACE_EXPECTED = true;
private static final boolean WRITE_ACTUAL_RESULTS_TO_FILE = false;
private static final boolean PRINT_RESULTSETS_TO_CONSOLE = false;
Modified: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestVDBMerge.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestVDBMerge.java 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestVDBMerge.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -18,28 +18,28 @@
this.internalConnection = server.createConnection("jdbc:teiid:"+VDB1);
String[] expected = {
- "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean]",
- "PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS Table PARTS
true true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590 16 null false
false",
- "PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA Table
SHIP_VIA true true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590 4 null
false false",
- "PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS Table STATUS
true true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590 3 null false
false",
- "PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS Table
SUPPLIER_PARTS true true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590 227
null false false",
- "PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER Table
SUPPLIER true true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590 16 null
false false"
- };
+ "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean] OID[integer]",
+ "PartsSupplier PartsSupplier PARTSSUPPLIER.PARTS Table PARTS
true true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590 16 null false
false 1623654648",
+ "PartsSupplier PartsSupplier PARTSSUPPLIER.SHIP_VIA Table
SHIP_VIA true true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590 4 null
false false 1136825257",
+ "PartsSupplier PartsSupplier PARTSSUPPLIER.STATUS Table STATUS
true true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590 3 null false false
-1690137928",
+ "PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER_PARTS Table
SUPPLIER_PARTS true true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590 227
null false false 2040149098",
+ "PartsSupplier PartsSupplier PARTSSUPPLIER.SUPPLIER Table
SUPPLIER true true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590 16 null
false false 940336727"
+ };
executeTest("select * from tables where schemaname
='PartsSupplier'", expected); //$NON-NLS-1$
String[] expectedBefore = {
- "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean]",
+ "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean] OID[integer]",
};
String[] expectedAfter = {
- "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean]",
- "PartsSupplier BQT1 HugeA Table null true false
mmuuid:7c66fc80-33d2-1dfa-9931-e83d04ce10a0 500000 null false false",
- "PartsSupplier BQT1 HugeB Table null true false
mmuuid:b0369400-33f8-1dfa-9931-e83d04ce10a0 500000 null false false",
- "PartsSupplier BQT1 LargeA Table null true false
mmuuid:3976a800-33b2-1dfa-9931-e83d04ce10a0 10000 null false false",
- "PartsSupplier BQT1 LargeB Table null true false
mmuuid:5fb40600-33c3-1dfa-9931-e83d04ce10a0 10000 null false false",
- "PartsSupplier BQT1 MediumA Table null true false
mmuuid:61074980-338d-1dfa-9931-e83d04ce10a0 1000 null false false",
- "PartsSupplier BQT1 MediumB Table null true false
mmuuid:e24bd1c0-33a4-1dfa-9931-e83d04ce10a0 1000 null false false",
- "PartsSupplier BQT1 SmallA Table null true false
mmuuid:0968424f-e6a0-1df9-ac06-b890ff96f710 50 null false false",
- "PartsSupplier BQT1 SmallB Table null true false
mmuuid:06fb8980-3377-1dfa-9931-e83d04ce10a0 50 null false false"
+ "VDBName[string] SchemaName[string] Name[string] Type[string]
NameInSource[string] IsPhysical[boolean] SupportsUpdates[boolean] UID[string]
Cardinality[integer] Description[string] IsSystem[boolean]
IsMaterialized[boolean] OID[integer]",
+ "PartsSupplier BQT1 HugeA Table null true false
mmuuid:7c66fc80-33d2-1dfa-9931-e83d04ce10a0 500000 null false false
-70645926",
+ "PartsSupplier BQT1 HugeB Table null true false
mmuuid:b0369400-33f8-1dfa-9931-e83d04ce10a0 500000 null false false
1906808737",
+ "PartsSupplier BQT1 LargeA Table null true false
mmuuid:3976a800-33b2-1dfa-9931-e83d04ce10a0 10000 null false false
1317837587",
+ "PartsSupplier BQT1 LargeB Table null true false
mmuuid:5fb40600-33c3-1dfa-9931-e83d04ce10a0 10000 null false false
-655406176",
+ "PartsSupplier BQT1 MediumA Table null true false
mmuuid:61074980-338d-1dfa-9931-e83d04ce10a0 1000 null false false
-122563142",
+ "PartsSupplier BQT1 MediumB Table null true false
mmuuid:e24bd1c0-33a4-1dfa-9931-e83d04ce10a0 1000 null false false
-1189500311",
+ "PartsSupplier BQT1 SmallA Table null true false
mmuuid:0968424f-e6a0-1df9-ac06-b890ff96f710 50 null false false
97548178",
+ "PartsSupplier BQT1 SmallB Table null true false
mmuuid:06fb8980-3377-1dfa-9931-e83d04ce10a0 50 null false false
-1716729278"
};
executeTest("select * from tables where schemaname='BQT1'",
expectedBefore); //$NON-NLS-1$
Added:
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestODBCSchema.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestODBCSchema.java
(rev 0)
+++
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestODBCSchema.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,83 @@
+package org.teiid.systemmodel;
+
+import java.sql.SQLException;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.teiid.core.util.UnitTestUtil;
+import org.teiid.jdbc.AbstractMMQueryTestCase;
+import org.teiid.jdbc.FakeServer;
+import org.teiid.jdbc.TestMMDatabaseMetaData;
+
+@SuppressWarnings("nls")
+public class TestODBCSchema extends AbstractMMQueryTestCase {
+ private static final String VDB = "PartsSupplier"; //$NON-NLS-1$
+
+ public TestODBCSchema() {
+ // this is needed because the result files are generated
+ // with another tool which uses tab as delimiter
+ super.DELIMITER = "\t"; //$NON-NLS-1$
+ }
+
+ @Before public void setUp() throws Exception {
+ FakeServer server = new FakeServer();
+ server.deployVDB(VDB, UnitTestUtil.getTestDataPath() +
"/PartsSupplier.vdb");
+ this.internalConnection = server.createConnection("jdbc:teiid:" + VDB);
//$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Test public void test_PG_AM() throws Exception {
+ execute("select * FROM pg_am"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_ATTRDEF() throws Exception {
+ execute("select * FROM pg_attrdef"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_ATTRIBUTE() throws Exception {
+ execute("select * FROM pg_attribute"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_CLASS() throws Exception {
+ execute("select * FROM pg_class"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_INDEX() throws Exception {
+ execute("select * FROM pg_index"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_NAMESPACE() throws Exception {
+ execute("select * FROM pg_namespace"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_PROC() throws Exception {
+ execute("select * FROM pg_proc"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_TRIGGER() throws Exception {
+ execute("select * FROM pg_trigger"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_TYPE() throws Exception {
+ execute("select * FROM pg_type"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_DATABASE() throws Exception {
+ execute("select* FROM pg_database"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+ @Test public void test_PG_USER() throws Exception {
+ execute("select * FROM pg_user"); //$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet(this.internalResultSet);
+ }
+
+}
Property changes on:
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestODBCSchema.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java 2010-07-16
19:10:00 UTC (rev 2354)
@@ -23,7 +23,6 @@
package org.teiid.systemmodel;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.teiid.core.util.UnitTestUtil;
import org.teiid.jdbc.AbstractMMQueryTestCase;
@@ -49,22 +48,7 @@
server.deployVDB(VDB, UnitTestUtil.getTestDataPath() +
"/PartsSupplier.vdb");
this.internalConnection = server.createConnection("jdbc:teiid:" + VDB);
//$NON-NLS-1$ //$NON-NLS-2$
}
-
- @Ignore("ODBC support to be readded")
- @Test public void testDefect23534() {
- String[] expected = {
"SCOPE[short] COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] PRECISION[integer] LENGTH[integer] SCALE[integer] PSEUDO_COLUMN[short]"
}; //$NON-NLS-1$
- executeAndAssertResults(
- "SELECT OA_SCOPE as \"SCOPE\" , COLUMN_NAME, DATA_TYPE, TYPE_NAME,
OA_PRECISION as \"PRECISION\", " + //$NON-NLS-1$
- "OA_LENGTH as \"LENGTH\", OA_SCALE as \"SCALE\",
PSEUDO_COLUMN " + //$NON-NLS-1$
- "FROM SYS.ODBC.OA_COLUMNS " + //$NON-NLS-1$
- "WHERE TABLE_NAME = N'AUTHORS' AND TABLE_OWNER = N's1' AND
" + //$NON-NLS-1$
- "(OA_COLUMNTYPE = 2 OR OA_COLUMNTYPE = 3) " + //$NON-NLS-1$
- "AND (OA_SCOPE is null OR OA_SCOPE >= 1) " + //$NON-NLS-1$
- "AND (OA_NULLABLE = 0 OR OA_NULLABLE = 1) " + //$NON-NLS-1$
- "ORDER BY \"SCOPE\"", //$NON-NLS-1$
- expected);
- }
-
+
protected void checkResult(String testName, String query) throws Exception {
execute(query);
TestMMDatabaseMetaData.compareResultSet("TestSystemVirtualModel/" +
testName, this.internalResultSet);
@@ -95,7 +79,7 @@
}
@Test public void testProperties() {
- String[] expected = { "Name[string] Value[string] UID[string]", };
//$NON-NLS-1$
+ String[] expected = { "Name[string] Value[string] UID[string] OID[integer]",
}; //$NON-NLS-1$
executeAndAssertResults("select* from SYS.Properties", expected);
//$NON-NLS-1$
}
@@ -139,410 +123,6 @@
checkResult("testTableIsSystem", "select Name from SYS.Tables where
IsSystem = 'false' order by Name"); //$NON-NLS-1$ //$NON-NLS-2$
}
- @Ignore("ODBC support to be readded")
- @Test public void test_OA_PROC() {
-
- String[] expected = {
- "OA_QUALIFIER[string] OA_OWNER[string] OA_NAME[string] NUM_INPUT_PARAMS[integer] NUM_OUTPUT_PARAMS[integer] NUM_RESULT_SETS[integer] REMARKS[string] PROCEDURE_TYPE[short]",
//$NON-NLS-1$
- "PartsSupplier System describe 0 0 0 null 1", //$NON-NLS-1$
- "PartsSupplier System getBinaryVDBResource 0 0 0 null 1", //$NON-NLS-1$
- "PartsSupplier System getCharacterVDBResource 0 0 0 null 1", //$NON-NLS-1$
- "PartsSupplier System getUpdatedCharacterVDBResource 0 0 0 null 1",
//$NON-NLS-1$
- "PartsSupplier System getVDBResourcePaths 0 0 0 null 1", //$NON-NLS-1$
-
- };
- executeAndAssertResults("select* FROM SYS.ODBC.OA_PROC", expected);
//$NON-NLS-1$
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void test_OA_PROCCOLUMNS() {
-
- String[] expected = {
- "OA_QUALIFIER[string] OA_OWNER[string] OA_NAME[string] COLUMN_NAME[string] OA_COLUMNTYPE[short] DATA_TYPE[short] TYPE_NAME[string] OA_PRECISION[integer] OA_LENGTH[integer] OA_RADIX[integer] OA_SCALE[integer] OA_NULLABLE[short] OA_SCOPE[short] REMARKS[string]",
//$NON-NLS-1$
- "PartsSupplier System describe Description 0 12 VARCHAR 128 128 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System describe entity 0 12 VARCHAR 0 0 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getBinaryVDBResource VdbResource 0 12 VARCHAR 0 0 10 0 1 0 ",
//$NON-NLS-1$
- "PartsSupplier System getBinaryVDBResource resourcePath 0 12 VARCHAR 50 50 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getCharacterVDBResource VdbResource 0 12 VARCHAR 0 0 10 0 1 0 ",
//$NON-NLS-1$
- "PartsSupplier System getCharacterVDBResource resourcePath 0 12 VARCHAR 50 50 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getUpdatedCharacterVDBResource VdbResource 0 12 VARCHAR 0 0 10 0 1 0 ",
//$NON-NLS-1$
- "PartsSupplier System getUpdatedCharacterVDBResource resourcePath 0 12 VARCHAR 50 50 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getUpdatedCharacterVDBResource tokenReplacements 0 12 VARCHAR 0 0 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getUpdatedCharacterVDBResource tokens 0 12 VARCHAR 0 0 10 0 0 0 ",
//$NON-NLS-1$
- "PartsSupplier System getVDBResourcePaths ResourcePath 0 12 VARCHAR 50 50 10 0 1 0 ",
//$NON-NLS-1$
- "PartsSupplier System getVDBResourcePaths isBinary 0 5 SMALLINT 1 1 10 0 1 0",
//$NON-NLS-1$
-
- };
- executeAndAssertResults(
- "select* FROM SYS.ODBC.OA_PROCCOLUMNS ORDER BY OA_NAME, COLUMN_NAME ",
//$NON-NLS-1$
- expected);
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void testOATYPES() {
- String[] expected = {
"TYPE_NAME[string] DATA_TYPE[short] PRECISION[integer] LITERAL_PREFIX[string] LITERAL_SUFFIX[string] CREATE_PARAMS[string] NULLABLE[short] CASE_SENSITIVE[short] SEARCHABLE[short] UNSIGNED_ATTRIBUTE[short] MONEY[short] AUTO_INCREMENT[short] LOCAL_TYPE_NAME[string] MINIMUM_SCALE[short] MAXIMUM_SCALE[short]",
}; //$NON-NLS-1$
-
- executeAndAssertResults(
- "select TYPE_NAME, DATA_TYPE, OA_PRECISION as PRECISION, LITERAL_PREFIX,
LITERAL_SUFFIX, " //$NON-NLS-1$
- + " CREATE_PARAMS, OA_NULLABLE as NULLABLE, CASE_SENSITIVE, OA_SEARCHABLE as
SEARCHABLE, " //$NON-NLS-1$
- + " UNSIGNED_ATTRIB as UNSIGNED_ATTRIBUTE, OA_MONEY as MONEY, AUTO_INCREMENT,
LOCAL_TYPE_NAME, " //$NON-NLS-1$
- + " MINIMUM_SCALE, MAXIMUM_SCALE FROM SYS.ODBC.OA_TYPES WHERE DATA_TYPE =
-6", //$NON-NLS-1$
- expected);
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void testOACOLUMNSAll() {
-
- String[] expected = {
- "TABLE_QUALIFIER[string] TABLE_OWNER[string] TABLE_NAME[string] COLUMN_NAME[string] DATA_TYPE[short] TYPE_NAME[string] OA_LENGTH[integer] OA_PRECISION[integer] OA_SCALE[integer] OA_RADIX[integer] OA_NULLABLE[short] OA_SCOPE[short] PSEUDO_COLUMN[short] OA_COLUMNTYPE[short] REMARKS[string]",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_COLOR 12 VARCHAR 30 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_ID 12 VARCHAR 4 0 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_NAME 12 VARCHAR 255 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_WEIGHT 12 VARCHAR 255 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SHIP_VIA SHIPPER_ID 5 SMALLINT 0 2 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SHIP_VIA SHIPPER_NAME 12 VARCHAR 30 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER STATUS STATUS_ID 5 SMALLINT 0 2 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER STATUS STATUS_NAME 12 VARCHAR 30 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_CITY 12 VARCHAR 30 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_ID 12 VARCHAR 10 0 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_NAME 12 VARCHAR 30 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_STATE 12 VARCHAR 2 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_STATUS 5 SMALLINT 0 2 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS PART_ID 12 VARCHAR 4 0 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS QUANTITY 5 SMALLINT 0 3 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS SHIPPER_ID 5 SMALLINT 0 2 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS SUPPLIER_ID 12 VARCHAR 10 0 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElementProperties DataTypeElementName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElementProperties DataTypeName 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElementProperties Name 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElementProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElementProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements DataTypeName 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements ElementLength 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements Position 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements Scale 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeElements UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeProperties DataType 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeProperties Name 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypeProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes BaseType 12 VARCHAR 64 64 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes Description 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes IsAutoIncremented 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes IsCaseSensitive 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes IsPhysical 5 SMALLINT 1 1 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes IsSigned 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes IsStandard 5 SMALLINT 1 1 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes JavaClass 12 VARCHAR 500 500 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes Name 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes NullType 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes Precision 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes Radix 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes RuntimeType 12 VARCHAR 64 64 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes Scale 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes SearchType 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes TypeLength 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes TypeName 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System DataTypes UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties ElementName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties ElementUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ElementProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements CharOctetLength 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements DataType 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements DefaultValue 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Description 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements ElementLength 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Format 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements IsAutoIncremented 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements IsCaseSensitive 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements IsCurrency 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements IsLengthFixed 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements IsSigned 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements JavaClass 12 VARCHAR 500 500 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements MaxRange 12 VARCHAR 50 50 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements MinRange 12 VARCHAR 50 50 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements NameInSource 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements NullType 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Position 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Precision 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Radix 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements Scale 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements SearchType 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements SupportsSelect 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements SupportsUpdates 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Elements UpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System GroupProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups Cardinality 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups Description 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups FullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups IsMaterialized 5 SMALLINT 0 0 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups IsPhysical 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups IsSystem 5 SMALLINT 1 1 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups NameInSource 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups SupportsUpdates 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups Type 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Groups UpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements KeyName 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements KeyType 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements Position 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements RefKeyUID 12 VARCHAR 50 50 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyElements UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties KeyName 12 VARCHAR 255 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties Name 12 VARCHAR 255 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System KeyProperties Value 12 VARCHAR 255 0 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys Description 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys GroupFullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys GroupName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys GroupUpperName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys IsIndexed 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys NameInSource 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys RefKeyUID 12 VARCHAR 50 50 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys Type 12 VARCHAR 20 20 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Keys UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ModelProperties ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ModelProperties Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ModelProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ModelProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models Description 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models IsPhysical 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models MaxSetSize 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models PrimaryMetamodelURI 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models SupportsDistinct 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models SupportsJoin 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models SupportsOrderBy 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models SupportsOuterJoin 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models SupportsWhereAll 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Models UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams DataType 12 VARCHAR 25 25 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams NullType 12 VARCHAR 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Optional 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Position 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Precision 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams ProcedureName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Radix 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Scale 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams Type 12 VARCHAR 100 100 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureParams TypeLength 4 INTEGER 10 10 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureProperties ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureProperties Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureProperties ProcedureName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureProperties UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System ProcedureProperties Value 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures Description 12 VARCHAR 255 225 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures FullName 12 VARCHAR 2048 2048 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures ModelName 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures ModelUID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures NameInSource 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures ReturnsResults 5 SMALLINT 1 1 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System Procedures UID 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System VirtualDatabases Name 12 VARCHAR 255 255 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System VirtualDatabases Version 12 VARCHAR 50 50 0 10 0 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns DEFERRABILITY 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns DELETE_RULE 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns FKCOLUMN_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns FKTABLE_CAT 12 VARCHAR 1 1 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns FKTABLE_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns FKTABLE_SCHEM 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns FK_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns KEY_SEQ 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns PKCOLUMN_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns PKTABLE_CAT 12 VARCHAR 1 1 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns PKTABLE_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns PKTABLE_SCHEM 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns PK_NAME 12 VARCHAR 255 255 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/JDBC ReferenceKeyColumns UPDATE_RULE 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS COLUMN_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS DATA_TYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_COLUMNTYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_LENGTH 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_NULLABLE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_PRECISION 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_RADIX 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_SCALE 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS OA_SCOPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS PSEUDO_COLUMN 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS REMARKS 12 VARCHAR 254 254 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS TABLE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS TABLE_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS TABLE_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_COLUMNS TYPE_NAME 12 VARCHAR 100 100 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS DELETE_RULE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS FKCOLUMN_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS FKTABLE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS FKTABLE_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS FKTABLE_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS FK_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS KEY_SEQ 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS PKCOLUMN_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS PKTABLE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS PKTABLE_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS PKTABLE_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS PK_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_FKEYS UPDATE_RULE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC NUM_INPUT_PARAMS 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC NUM_OUTPUT_PARAMS 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC NUM_RESULT_SETS 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC OA_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC OA_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC OA_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC PROCEDURE_TYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROC REMARKS 12 VARCHAR 254 254 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS COLUMN_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS DATA_TYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_COLUMNTYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_LENGTH 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_NULLABLE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_PRECISION 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_RADIX 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_SCALE 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS OA_SCOPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS REMARKS 12 VARCHAR 254 254 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_PROCCOLUMNS TYPE_NAME 12 VARCHAR 100 100 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS COLUMN_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS FILTER_CONDITIONS 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS INDEX_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS INDEX_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS NON_UNIQUE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS OA_CARDINALITY 12 VARCHAR 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS OA_COLLATION 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS OA_PAGES 12 VARCHAR 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS OA_TYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS SEQ_IN_INDEX 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS TABLE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS TABLE_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_STATISTICS TABLE_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TABLES REMARKS 12 VARCHAR 254 254 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TABLES TABLE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TABLES TABLE_OWNER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TABLES TABLE_QUALIFIER 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TABLES TABLE_TYPE 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES AUTO_INCREMENT 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES CASE_SENSITIVE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES CREATE_PARAMS 12 VARCHAR 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES DATA_TYPE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES LITERAL_PREFIX 12 VARCHAR 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES LITERAL_SUFFIX 12 VARCHAR 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES LOCAL_TYPE_NAME 12 VARCHAR 128 128 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES MAXIMUM_SCALE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES MINIMUM_SCALE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES OA_MONEY 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES OA_NULLABLE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES OA_PRECISION 4 INTEGER 10 10 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES OA_SEARCHABLE 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES TYPE_NAME 12 VARCHAR 100 100 0 10 1 0 0 0 null",
//$NON-NLS-1$
- "PartsSupplier System/ODBC OA_TYPES UNSIGNED_ATTRIB 5 SMALLINT 5 5 0 10 1 0 0 0 null",
//$NON-NLS-1$
-
- };
-
- executeAndAssertResults(
- "select* FROM SYS.ODBC.OA_COLUMNS ORDER BY TABLE_QUALIFIER, TABLE_OWNER,
TABLE_NAME, COLUMN_NAME", //$NON-NLS-1$
- expected);
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void testOATYPESAll() {
- String[] expected = {
- "TYPE_NAME[string] DATA_TYPE[short] OA_PRECISION[integer] LITERAL_PREFIX[string] LITERAL_SUFFIX[string] CREATE_PARAMS[string] OA_NULLABLE[short] CASE_SENSITIVE[short] OA_SEARCHABLE[short] UNSIGNED_ATTRIB[short] OA_MONEY[short] AUTO_INCREMENT[short] MINIMUM_SCALE[short] MAXIMUM_SCALE[short] LOCAL_TYPE_NAME[string]",
//$NON-NLS-1$
- "CHAR 1 2147483647 ' ' null 1 1 3 0 0 0 null null CHAR",
//$NON-NLS-1$
- "DATE 9 10 {d ' '} null 1 0 2 0 0 0 null null DATE", //$NON-NLS-1$
- "DOUBLE 8 15 null null null 1 0 2 0 0 0 null null DOUBLE", //$NON-NLS-1$
- "FLOAT 6 15 null null null 1 0 2 0 0 0 null null FLOAT", //$NON-NLS-1$
- "INTEGER 4 10 null null null 1 0 2 0 0 0 null null INTEGER", //$NON-NLS-1$
- "LONGVARBINARY -4 2147483647 0x null null 1 0 0 0 0 0 null null null",
//$NON-NLS-1$
- "NUMERIC 2 32 null null null 1 0 2 0 0 0 0 32 NUMERIC", //$NON-NLS-1$
- "REAL 7 7 null null null 1 0 2 0 0 0 null null REAL", //$NON-NLS-1$
- "SMALLINT 5 5 null null null 1 0 2 0 0 0 null null SMALLINT",
//$NON-NLS-1$
- "TIME 10 8 {t ' '} null 1 0 2 0 0 0 null null TIME", //$NON-NLS-1$
- "TIMESTAMP 11 19 {ts ' '} null 1 0 2 0 0 0 null null TIMESTAMP",
//$NON-NLS-1$
- "VARCHAR 12 2147483647 ' ' null 1 1 3 0 0 0 null null VARCHAR", };
//$NON-NLS-1$
- executeAndAssertResults(
- "select* FROM SYS.ODBC.OA_TYPES ORDER BY TYPE_NAME", //$NON-NLS-1$
- expected);
-
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void testOAFKEYS() {
- String[] expected = {
- "PKTABLE_QUALIFIER[string] PKTABLE_OWNER[string] PKTABLE_NAME[string] PKCOLUMN_NAME[string] FKTABLE_QUALIFIER[string] FKTABLE_OWNER[string] FKTABLE_NAME[string] FKCOLUMN_NAME[string] KEY_SEQ[short] UPDATE_RULE[short] DELETE_RULE[short] FK_NAME[string] PK_NAME[string]",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 1 null null null PK_PARTS",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS PART_ID PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS PART_ID 1 null null FK_SPLIER_PRTS_PRTS PK_PARTS",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SHIP_VIA SHIPPER_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 1 null null null PK_SHIP_VIA",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER STATUS STATUS_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 1 null null null PK_STATUS",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER STATUS STATUS_ID PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_STATUS 1 null null FK_SPLIER_STATS PK_STATUS",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 1 null null null PK_SUPPLIER",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER SUPPLIER_ID PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS SUPPLIER_ID 1 null null FK_SPLY_PRTS_SPLY PK_SUPPLIER",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS SUPPLIER_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 1 null null null PK_SUPPLIER_PARTS",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS PART_ID PartsSupplier PartsSupplier/PARTSSUPPLIER null null 2 null null null PK_SUPPLIER_PARTS",
//$NON-NLS-1$
-
- };
- executeAndAssertResults(
- "select* FROM SYS.ODBC.OA_FKEYS ORDER BY PK_NAME, KEY_SEQ", //$NON-NLS-1$
- expected);
-
- }
-
- @Ignore("ODBC support to be readded")
- @Test public void testOASTATISTICS() {
- String[] expected = {
- "TABLE_QUALIFIER[string] TABLE_OWNER[string] TABLE_NAME[string] NON_UNIQUE[short] INDEX_QUALIFIER[string] INDEX_NAME[string] OA_TYPE[short] SEQ_IN_INDEX[short] COLUMN_NAME[string] OA_COLLATION[string] OA_CARDINALITY[string] OA_PAGES[string] FILTER_CONDITIONS[string]",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER PARTS 0 PK_PARTS 3 1 PART_ID null null null",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SHIP_VIA 0 PK_SHIP_VIA 3 1 SHIPPER_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER STATUS 0 PK_STATUS 3 1 STATUS_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER 1 FK_SPLIER_STATS 3 1 SUPPLIER_STATUS null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER 0 PK_SUPPLIER 3 1 SUPPLIER_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS 1 FK_SPLIER_PRTS_PRTS 3 1 PART_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS 1 FK_SPLY_PRTS_SPLY 3 1 SUPPLIER_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS 0 PK_SUPPLIER_PARTS 3 2 PART_ID null null null ",
//$NON-NLS-1$
- "PartsSupplier PartsSupplier/PARTSSUPPLIER SUPPLIER_PARTS 0 PK_SUPPLIER_PARTS 3 1 SUPPLIER_ID null null null ",
//$NON-NLS-1$
-
- };
- executeAndAssertResults("select* FROM SYS.ODBC.OA_STATISTICS order by TABLE_NAME,
INDEX_NAME, COLUMN_NAME", //$NON-NLS-1$
- expected);
-
- }
-
@Test public void testDefect12064() {
String[] expected = {
"KeyName[string] RefKeyUID[string] ", //$NON-NLS-1$
Modified:
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -186,6 +186,7 @@
QT_Ora9DS SYS
Columns
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 26
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Columns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 27
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Columns
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 28
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Columns
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 29
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
DataTypes
Name 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
DataTypes
IsStandard -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 2
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
DataTypes
IsPhysical -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 3
NO <null>
<null>
<null> !
<null>
NO
@@ -204,6 +205,7 @@
QT_Ora9DS SYS
DataTypes
RuntimeType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 16
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
DataTypes
BaseType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 17
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
DataTypes
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 18
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
DataTypes
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 19
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
HugeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT2
HugeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
HugeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
@@ -281,6 +283,7 @@
QT_Ora9DS SYS
KeyColumns
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 7
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
KeyColumns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
KeyColumns
Position 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
KeyColumns
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 10
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Keys
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Keys
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Keys
TableName 12
string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
@@ -291,6 +294,7 @@
QT_Ora9DS SYS
Keys
IsIndexed -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Keys
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 9
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Keys
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 10
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Keys
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 11
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
LargeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT2
LargeA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
LargeA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
@@ -442,6 +446,7 @@
QT_Ora9DS SYS
ProcedureParams
NullType 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ProcedureParams
UID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 14
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ProcedureParams
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 15
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
ProcedureParams
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 16
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
@@ -449,9 +454,11 @@
QT_Ora9DS SYS
Procedures
ReturnsResults -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 5
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Procedures
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Properties
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Properties
Value 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Properties
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 3
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Properties
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 4
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ReferenceKeyColumns
PKTABLE_CAT 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ReferenceKeyColumns
PKTABLE_SCHEM 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ReferenceKeyColumns
PKTABLE_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
@@ -472,6 +479,7 @@
QT_Ora9DS SYS
Schemas
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Schemas
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Schemas
PrimaryMetamodelURI 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Schemas
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 7
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
SmallA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT2
SmallA
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS BQT1
SmallA
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
@@ -552,6 +560,7 @@
QT_Ora9DS SYS
Tables
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 10
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Tables
IsSystem -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 11
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Tables
IsMaterialized -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 12
YES <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
Tables
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS VQT
Union.U1
IntKey 4
integer 22
<null> 0
10 0 <null>
<null>
<null> <null>
0 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS VQT
Union.U1
StringKey 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 2
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS VQT
Union.U1
IntNum 4
integer 22
<null> 0
10 1 <null>
<null>
<null> <null>
0 3
NO <null>
<null>
<null> !
<null>
NO
@@ -754,6 +763,81 @@
QT_Ora9DS XQTDoc
nillableTestDocument
nillableTest 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
key 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 1
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQTDoc
nillableTestDocument.MappingClasses.wrapper
nillableField 2
biginteger 19
<null> 0 0
1 <null>
<null>
<null> <null>
0 2
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_am
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_am
amname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attrdef
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attrdef
adsrc 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attrdef
adrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attrdef
adnum 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
atttypid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attlen 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attnum 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
atttypmod 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attnotnull -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
attisdropped -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_attribute
atthasdef -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 10
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relnamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relkind 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relam 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
reltuples 7
float 20
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relpages 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relhasrules -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_class
relhasoids 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
encoding 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datlastsysoid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datallowconn 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datconfig
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datacl
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
datdba 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_database
dattablespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indexrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indisclustered -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indisunique -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indisprimary -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indexprs 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_index
indkey 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_namespace
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_namespace
nspname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proretset -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
prorettype 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
pronargs 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proargtypes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proargnames
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proargmodes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
proallargtypes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_proc
pronamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 10
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgconstrrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgfoid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgargs 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgnargs 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgdeferrable -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tginitdeferred -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgconstrname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_trigger
tgrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typnamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typlen 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typtype 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typbasetype 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typtypmod 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_type
typrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_user
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_user
usename 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_user
usecreatedb -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+QT_Ora9DS pg_catalog
pg_user
usesuper -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQTNestedDoc
testBoundTempTable
testSimple.recursiveRoot.data 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQTNestedDoc
testBoundTempTable
testSimple.recursiveRoot.key 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQTNestedDoc
testBoundTempTable
testSimple.recursiveRoot.nextKey 12
string 4000
<null> 0 0
1 <null>
<null>
<null> <null>
0 0
NO <null>
<null>
<null> !
<null>
NO
@@ -973,7 +1057,7 @@
QT_Ora9DS XQT
xqtFullData
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQT
xqtFullData
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQT
xqtFullData
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-Row Count : 973
+Row Count : 1057
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string SYS Columns 255 255 0
false false false false 0 true
true false false
TABLE_SCHEM 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/testGetSchemas.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetSchemas.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -9,7 +9,8 @@
XQTDoc QT_Ora9DS
XQTNestedDoc QT_Ora9DS
XQTRecursiveDoc QT_Ora9DS
-Row Count : 9
+pg_catalog QT_Ora9DS
+Row Count : 10
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM string
SYS Schemas 255 255 0
false true false true 1 false
true true true
TABLE_CATALOG 12 QT_Ora9DS java.lang.String TABLE_CATALOG string
SYS Schemas 255 255 0
false true false true 1 false
true true true
Modified:
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -29,6 +29,17 @@
QT_Ora9DS SYS
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS SYS
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS SYS
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS pg_catalog
pg_am
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_attrdef
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_attribute
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_class
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_database
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_index
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_namespace
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_proc
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_trigger
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_type
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_user
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
QT_Ora9DS BQT1
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS BQT1
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS BQT1
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
@@ -121,7 +132,7 @@
QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.moveToRootTempTable XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-Row Count : 121
+Row Count : 132
getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string SYS Tables 255 255
0 false true false true 1
false true true true
TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string SYS Tables 255 255
0 false true false true 1
false true true true
Modified:
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetTables_allTables.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -29,6 +29,17 @@
QT_Ora9DS SYS
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS SYS
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS SYS
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+QT_Ora9DS pg_catalog
pg_am
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_attrdef
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_attribute
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_class
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_database
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_index
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_namespace
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_proc
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_trigger
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_type
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+QT_Ora9DS pg_catalog
pg_user
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
QT_Ora9DS BQT1
HugeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS BQT1
HugeB
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
QT_Ora9DS BQT1
LargeA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
@@ -121,7 +132,7 @@
QT_Ora9DS XQTNestedDoc
testOptimizableTempTable.MappingClasses.moveToRootTempTable XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
QT_Ora9DS XQTNestedDoc
testRootTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
QT_Ora9DS XQTRecursiveDoc
testSimpleTempTable.MappingClasses.TemporaryTable1 XMLSTAGINGTABLE
<null>
<null>
<null>
<null> <null>
<null>
false
-Row Count : 121
+Row Count : 132
getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string SYS Tables 255 255
0 false true false true 1
false true true true
TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string SYS Tables 255 255
0 false true false true 1
false true true true
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_AM.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_AM.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_AM.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,7 @@
+integer string
+oid amname
+0 btree
+Row Count : 1
+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_am 11 10 0
false false false false 2 true
true false false
+amname 12 PartsSupplier java.lang.String amname string
pg_catalog pg_am 4000 4000 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRDEF.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRDEF.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRDEF.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,9 @@
+integer integer integer integer
+oid adsrc adrelid adnum
+0 0 0 0
+Row Count : 1
+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_attrdef 11 10 0
false false false false 2 true
true false false
+adsrc 4 PartsSupplier java.lang.Integer adsrc integer
pg_catalog pg_attrdef 11 10 0
false false false false 2 true
true false false
+adrelid 4 PartsSupplier java.lang.Integer adrelid integer
pg_catalog pg_attrdef 11 10 0
false false false false 2 true
true false false
+adnum 4 PartsSupplier java.lang.Integer adnum integer
pg_catalog pg_attrdef 11 10 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_ATTRIBUTE.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,239 @@
+integer integer string
integer short short integer boolean boolean boolean
+oid attrelid attname
atttypid attlen attnum atttypmod attnotnull attisdropped atthasdef
+-1088265444 1623654648 PART_ID
1043 4 1 4 false false false
+2032364534 1623654648 PART_NAME
1043 255 2 255 false false false
+-1794301564 1623654648 PART_COLOR
1043 30 3 30 false false false
+-1101199867 1623654648 PART_WEIGHT
1043 255 4 255 false false false
+1264644385 1136825257 SHIPPER_ID
21 0 1 0 false false false
+-797147767 1136825257 SHIPPER_NAME
1043 30 2 30 false false false
+-1477852881 -1690137928 STATUS_ID
21 0 1 0 false false false
+-784751184 -1690137928 STATUS_NAME
1043 30 2 30 false false false
+39358754 2040149098 SUPPLIER_ID
1043 10 1 10 false false false
+14793330 2040149098 PART_ID
1043 4 2 4 false false false
+707895027 2040149098 QUANTITY
21 0 3 0 false false false
+1400996724 2040149098 SHIPPER_ID
21 0 4 0 false false false
+173333941 940336727 SUPPLIER_ID
1043 10 1 10 false false false
+866435638 940336727 SUPPLIER_NAME
1043 30 2 30 false false false
+1559537335 940336727 SUPPLIER_STATUS
21 0 3 0 false false false
+1834223700 940336727 SUPPLIER_CITY
1043 30 4 30 false false false
+-1767641899 940336727 SUPPLIER_STATE
1043 2 5 2 false false false
+625775649 1125375648 VDBName
1043 255 1 255 false false false
+1944775942 1125375648 SchemaName
1043 255 2 255 false false false
+37248193 1125375648 TableName
1043 255 3 255 false false false
+-1412388946 1125375648 Name
1043 255 4 255 false false false
+-187678130 1125375648 Position
<null> 10 5 10 false false false
+-826716590 1125375648 NameInSource
1043 255 6 255 false false false
+104049003 1125375648 DataType
1043 100 7 100 false false false
+-1960637886 1125375648 Scale
<null> 10 8 10 false false false
+1552424938 1125375648 Length
<null> 10 9 10 false false false
+1175465478 1125375648 IsLengthFixed
16 1 10 1 false false false
+-1799446175 1125375648 SupportsSelect
16 1 11 1 false false false
+1376383558 1125375648 SupportsUpdates
16 1 12 1 false false false
+1838086626 1125375648 IsCaseSensitive
16 1 13 1 false false false
+1504393951 1125375648 IsSigned
16 1 14 1 false false false
+-227498353 1125375648 IsCurrency
16 1 15 1 false false false
+1025501313 1125375648 IsAutoIncremented
16 1 16 1 false false false
+220538653 1125375648 NullType
1043 20 17 20 false false false
+1127616920 1125375648 MinRange
1043 50 18 50 false false false
+-1431993426 1125375648 MaxRange
1043 50 19 50 false false false
+-917271927 1125375648 SearchType
1043 20 20 20 false false false
+99434351 1125375648 Format
1043 255 21 255 false false false
+2081463498 1125375648 DefaultValue
1043 255 22 255 false false false
+2038419570 1125375648 JavaClass
1043 500 23 500 false false false
+-207752578 1125375648 Precision
<null> 10 24 10 false false false
+1904600238 1125375648 CharOctetLength
<null> 10 25 10 false false false
+741988173 1125375648 Radix
<null> 10 26 10 false false false
+-710939971 1125375648 UID
1043 50 27 50 false false false
+-1798385399 1125375648 Description
1043 255 28 255 false false false
+-488975294 1125375648 OID
<null> 10 29 10 false false false
+988889238 407729263 Name
1043 100 1 100 false false false
+2044345153 407729263 IsStandard
16 1 2 1 false false false
+388003599 407729263 IsPhysical
16 1 3 1 false false false
+1747073036 407729263 TypeName
1043 100 4 100 false false false
+-553383651 407729263 JavaClass
1043 500 5 500 false false false
+616923420 407729263 Scale
<null> 10 6 10 false false false
+-352113497 407729263 TypeLength
<null> 10 7 10 false false false
+-252713441 407729263 NullType
1043 20 8 20 false false false
+-1410117530 407729263 IsSigned
16 1 9 1 false false false
+1589184032 407729263 IsAutoIncremented
16 1 10 1 false false false
+810689849 407729263 IsCaseSensitive
16 1 11 1 false false false
+748017945 407729263 Precision
<null> 10 12 10 false false false
+2009321453 407729263 Radix
<null> 10 13 10 false false false
+920862690 407729263 SearchType
1043 20 14 20 false false false
+996977955 407729263 UID
1043 50 15 50 false false false
+-202037504 407729263 RuntimeType
1043 64 16 64 false false false
+449930315 407729263 BaseType
1043 64 17 64 false false false
+-1742254424 407729263 Description
1043 255 18 255 false false false
+1702443356 407729263 OID
<null> 10 19 10 false false false
+854014254 1906549043 VDBName
1043 255 1 255 false false false
+-1759292119 1906549043 SchemaName
1043 255 2 255 false false false
+-1594935697 1906549043 TableName
1043 2048 3 2048 false false false
+2034926350 1906549043 Name
1043 255 4 255 false false false
+-211689398 1906549043 KeyName
1043 255 5 255 false false false
+-2096082716 1906549043 KeyType
1043 20 6 20 false false false
+-22652004 1906549043 RefKeyUID
1043 50 7 50 false false false
+2018331904 1906549043 UID
1043 50 8 50 false false false
+-732937332 1906549043 Position
<null> 10 9 10 false false false
+-2084878595 1906549043 OID
<null> 10 10 10 false false false
+-1451894484 -1056482755 VDBName
1043 255 1 255 false false false
+1074685596 -1056482755 SchemaName
1043 255 2 255 false false false
+-1862131168 -1056482755 TableName
1043 2048 3 2048 false false false
+425155393 -1056482755 Name
1043 255 4 255 false false false
+156365359 -1056482755 Description
1043 255 5 255 false false false
+-1100843962 -1056482755 NameInSource
1043 255 6 255 false false false
+846555123 -1056482755 Type
1043 20 7 20 false false false
+-1736557250 -1056482755 IsIndexed
16 1 8 1 false false false
+1957953763 -1056482755 RefKeyUID
1043 50 9 50 false false false
+-1864727535 -1056482755 UID
1043 50 10 50 false false false
+120374768 -1056482755 OID
<null> 10 11 10 false false false
+1975537358 1809992480 VDBName
1043 255 1 255 false false false
+-944775923 1809992480 SchemaName
1043 255 2 255 false false false
+2030457340 1809992480 ProcedureName
1043 255 3 255 false false false
+-1008332542 1809992480 Name
1043 255 4 255 false false false
+-33148063 1809992480 DataType
1043 25 5 25 false false false
+1214741362 1809992480 Position
<null> 10 6 10 false false false
+1405495099 1809992480 Type
1043 100 7 100 false false false
+-1986083814 1809992480 Optional
16 1 8 1 false false false
+1013266093 1809992480 Precision
<null> 10 9 10 false false false
+-948014349 1809992480 TypeLength
<null> 10 10 10 false false false
+-1799226271 1809992480 Scale
<null> 10 11 10 false false false
+-460741195 1809992480 Radix
<null> 10 12 10 false false false
+-1768740125 1809992480 NullType
1043 10 13 10 false false false
+633179490 1809992480 UID
1043 50 14 50 false false false
+1549159280 1809992480 Description
1043 255 15 255 false false false
+1413251219 1809992480 OID
<null> 10 16 10 false false false
+675421827 -364939653 VDBName
1043 255 1 255 false false false
+-1162137751 -364939653 SchemaName
1043 255 2 255 false false false
+-1887591430 -364939653 Name
1043 255 3 255 false false false
+-593996602 -364939653 NameInSource
1043 255 4 255 false false false
+1612225140 -364939653 ReturnsResults
16 1 5 1 false false false
+-908438290 -364939653 UID
1043 50 6 50 false false false
+-1392258153 -364939653 Description
1043 255 7 255 false false false
+415310936 -364939653 OID
<null> 10 8 10 false false false
+1640613833 -1169068629 Name
1043 255 1 255 false false false
+411746507 -1169068629 Value
1043 255 2 255 false false false
+-1166122209 -1169068629 UID
1043 50 3 50 false false false
+-601712965 -1169068629 OID
<null> 10 4 10 false false false
+549758030 -2944282 PKTABLE_CAT
1043 255 1 255 false false false
+-1959434503 -2944282 PKTABLE_SCHEM
1043 255 2 255 false false false
+-1715655065 -2944282 PKTABLE_NAME
1043 255 3 255 false false false
+1551740858 -2944282 PKCOLUMN_NAME
1043 255 4 255 false false false
+1816028845 -2944282 FKTABLE_CAT
1043 255 5 255 false false false
+-302000488 -2944282 FKTABLE_SCHEM
1043 255 6 255 false false false
+1346376866 -2944282 FKTABLE_NAME
1043 255 7 255 false false false
+-716350485 -2944282 FKCOLUMN_NAME
1043 255 8 255 false false false
+304004456 -2944282 KEY_SEQ
21 5 9 5 false false false
+-449329715 -2944282 UPDATE_RULE
<null> 10 10 10 false false false
+-1881787205 -2944282 DELETE_RULE
<null> 10 11 10 false false false
+-318434336 -2944282 FK_NAME
1043 255 12 255 false false false
+1849512787 -2944282 PK_NAME
1043 255 13 255 false false false
+1757202753 -2944282 DEFERRABILITY
<null> 10 14 10 false false false
+1083046346 -69424901 VDBName
1043 255 1 255 false false false
+-1915969202 -69424901 Name
1043 255 2 255 false false false
+-708799924 -69424901 IsPhysical
16 1 3 1 false false false
+1001441719 -69424901 UID
1043 50 4 50 false false false
+-639211628 -69424901 Description
1043 255 5 255 false false false
+-1878816788 -69424901 PrimaryMetamodelURI
1043 255 6 255 false false false
+98394392 -69424901 OID
<null> 10 7 10 false false false
+743485616 -820106652 VDBName
1043 255 1 255 false false false
+-1168783734 -820106652 SchemaName
1043 255 2 255 false false false
+690430606 -820106652 Name
1043 255 3 255 false false false
+880927430 -820106652 Type
1043 20 4 20 false false false
+239676287 -820106652 NameInSource
1043 255 5 255 false false false
+-800318605 -820106652 IsPhysical
16 1 6 1 false false false
+-1060614397 -820106652 SupportsUpdates
16 1 7 1 false false false
+-175171634 -820106652 UID
1043 50 8 50 false false false
+-827418434 -820106652 Cardinality
<null> 10 9 10 false false false
+-627255997 -820106652 Description
1043 255 10 255 false false false
+-852036943 -820106652 IsSystem
16 1 11 1 false false false
+-439386537 -820106652 IsMaterialized
16 0 12 0 false false false
+2006785825 -820106652 OID
<null> 10 13 10 false false false
+-1192264541 767013857 Name
1043 255 1 255 false false false
+-357731549 767013857 Version
1043 50 2 50 false false false
+373628435 150756069 oid
<null> 0 1 0 false false false
+-628173568 150756069 nspname
1043 0 2 0 false false false
+1625508050 332420260 oid
<null> 0 1 0 false false false
+-1521761894 332420260 relname
1043 0 2 0 false false false
+559270286 332420260 relnamespace
<null> 0 3 0 false false false
+-2108781653 332420260 relkind
1042 0 4 0 false false false
+-1870447130 332420260 relam
<null> 0 5 0 false false false
+1412069305 332420260 reltuples
700 0 6 0 false false false
+-1131535092 332420260 relpages
<null> 0 7 0 false false false
+2022840685 332420260 relhasrules
16 0 8 0 false false false
+-723255984 332420260 relhasoids
1043 0 9 0 false false false
+2103741346 -224365397 oid
<null> 0 1 0 false false false
+1817835217 -224365397 attrelid
<null> 0 2 0 false false false
+-574665690 -224365397 attname
1043 0 3 0 false false false
+-1055354453 -224365397 atttypid
<null> 0 4 0 false false false
+-1795441436 -224365397 attlen
21 0 5 0 false false false
+-368889602 -224365397 attnum
21 0 6 0 false false false
+-1832736504 -224365397 atttypmod
<null> 0 7 0 false false false
+1919642235 -224365397 attnotnull
16 0 8 0 false false false
+-2003496118 -224365397 attisdropped
16 0 9 0 false false false
+2145379509 -224365397 atthasdef
16 0 10 0 false false false
+1257605974 -136764222 oid
<null> 0 1 0 false false false
+-2137383909 -136764222 typname
1043 0 2 0 false false false
+-664776960 -136764222 typnamespace
<null> 0 3 0 false false false
+30131224 -136764222 typlen
21 0 4 0 false false false
+622706593 -136764222 typtype
1042 0 5 0 false false false
+-1602004266 -136764222 typbasetype
<null> 0 6 0 false false false
+-919158145 -136764222 typtypmod
<null> 0 7 0 false false false
+-1112999853 -136764222 typrelid
<null> 0 8 0 false false false
+1364472411 -1762024459 oid
<null> 0 1 0 false false false
+-1332345703 -1762024459 indexrelid
<null> 0 2 0 false false false
+842922062 -1762024459 indrelid
<null> 0 3 0 false false false
+-572843177 -1762024459 indisclustered
16 0 4 0 false false false
+375662166 -1762024459 indisunique
16 0 5 0 false false false
+-1371913171 -1762024459 indisprimary
16 0 6 0 false false false
+129149326 -1762024459 indexprs
1043 0 7 0 false false false
+-501867330 -1762024459 indkey
1043 0 8 0 false false false
+348003813 -1477143417 oid
<null> 0 1 0 false false false
+1511248377 -1477143417 amname
1043 0 2 0 false false false
+-1984635687 -710458066 oid
<null> 0 1 0 false false false
+-834139826 -710458066 proname
1043 0 2 0 false false false
+499803309 -710458066 proretset
16 0 3 0 false false false
+1397859651 -710458066 prorettype
<null> 0 4 0 false false false
+-139838005 -710458066 pronargs
21 0 5 0 false false false
+-664211823 -710458066 proargtypes
<null> 0 6 0 false false false
+112570388 -710458066 proargnames
<null> 0 7 0 false false false
+-1648420405 -710458066 proargmodes
<null> 0 8 0 false false false
+1421812587 -710458066 proallargtypes
<null> 0 9 0 false false false
+-1460928205 -710458066 pronamespace
<null> 0 10 0 false false false
+1255466367 -77334293 oid
<null> 0 1 0 false false false
+-1839359651 -77334293 tgconstrrelid
<null> 0 2 0 false false false
+-175657451 -77334293 tgfoid
<null> 0 3 0 false false false
+-1427817109 -77334293 tgargs
<null> 0 4 0 false false false
+1345190695 -77334293 tgnargs
<null> 0 5 0 false false false
+224520183 -77334293 tgdeferrable
16 0 6 0 false false false
+1760818902 -77334293 tginitdeferred
16 0 7 0 false false false
+1978541887 -77334293 tgconstrname
1043 0 8 0 false false false
+824464965 -77334293 tgrelid
<null> 0 9 0 false false false
+-607267013 1533609944 oid
<null> 0 1 0 false false false
+-331283891 1533609944 adsrc
<null> 0 2 0 false false false
+1059469691 1533609944 adrelid
<null> 0 3 0 false false false
+-1546672787 1533609944 adnum
<null> 0 4 0 false false false
+446356164 209142477 oid
<null> 0 1 0 false false false
+-1631782981 209142477 datname
1043 0 2 0 false false false
+190169626 209142477 encoding
<null> 0 3 0 false false false
+-1897406238 209142477 datlastsysoid
<null> 0 4 0 false false false
+2090011815 209142477 datallowconn
1042 0 5 0 false false false
+1265212944 209142477 datconfig
<null> 0 6 0 false false false
+-639480338 209142477 datacl
<null> 0 7 0 false false false
+-1356986869 209142477 datdba
<null> 0 8 0 false false false
+1220708103 209142477 dattablespace
<null> 0 9 0 false false false
+-311176298 -164161188 oid
<null> 0 1 0 false false false
+717511814 -164161188 usename
1043 0 2 0 false false false
+1288630002 -164161188 usecreatedb
16 0 3 0 false false false
+1033115127 -164161188 usesuper
16 0 4 0 false false false
+Row Count : 225
+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
+attname 12 PartsSupplier java.lang.String attname string
pg_catalog pg_attribute 4000 4000 0
false false false false 2 true
true false false
+atttypid 4 PartsSupplier java.lang.Integer atttypid integer
pg_catalog pg_attribute 11 10 0
false false false false 2 true
true false false
+attlen 5 PartsSupplier java.lang.Short attlen short
pg_catalog pg_attribute 6 5 0
false false false false 2 true
true false false
+attnum 5 PartsSupplier java.lang.Short attnum short
pg_catalog pg_attribute 6 5 0
false false false false 2 true
true false false
+atttypmod 4 PartsSupplier java.lang.Integer atttypmod integer
pg_catalog pg_attribute 11 10 0
false false false false 2 true
true false false
+attnotnull -7 PartsSupplier java.lang.Boolean attnotnull boolean
pg_catalog pg_attribute 5 1 0
false false false false 2 true
true false false
+attisdropped -7 PartsSupplier java.lang.Boolean attisdropped boolean
pg_catalog pg_attribute 5 1 0
false false false false 2 true
true false false
+atthasdef -7 PartsSupplier java.lang.Boolean atthasdef boolean
pg_catalog pg_attribute 5 1 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_CLASS.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_CLASS.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_CLASS.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,40 @@
+integer string integer
char integer float integer boolean string
+oid relname
relnamespace relkind relam reltuples relpages relhasrules
relhasoids
+1623654648 PARTSSUPPLIER.PARTS 152010958
r 0 0.0 0 false false
+1136825257 PARTSSUPPLIER.SHIP_VIA 152010958
r 0 0.0 0 false false
+-1690137928 PARTSSUPPLIER.STATUS 152010958
r 0 0.0 0 false false
+2040149098 PARTSSUPPLIER.SUPPLIER_PARTS 152010958
r 0 0.0 0 false false
+940336727 PARTSSUPPLIER.SUPPLIER 152010958
r 0 0.0 0 false false
+1125375648 Columns
-2075981161 r 0 0.0 0 false
false
+407729263 DataTypes
-2075981161 r 0 0.0 0 false
false
+1906549043 KeyColumns
-2075981161 r 0 0.0 0 false
false
+-1056482755 Keys
-2075981161 r 0 0.0 0 false
false
+1809992480 ProcedureParams
-2075981161 r 0 0.0 0 false
false
+-364939653 Procedures
-2075981161 r 0 0.0 0 false
false
+-1169068629 Properties
-2075981161 r 0 0.0 0 false
false
+-2944282 ReferenceKeyColumns
-2075981161 r 0 0.0 0 false
false
+-69424901 Schemas
-2075981161 r 0 0.0 0 false
false
+-820106652 Tables
-2075981161 r 0 0.0 0 false
false
+767013857 VirtualDatabases
-2075981161 r 0 0.0 0 false
false
+150756069 pg_namespace
-915078125 v 0 0.0 0 false
false
+332420260 pg_class
-915078125 v 0 0.0 0 false
false
+-224365397 pg_attribute
-915078125 v 0 0.0 0 false
false
+-136764222 pg_type
-915078125 v 0 0.0 0 false
false
+-1762024459 pg_index
-915078125 v 0 0.0 0 false
false
+-1477143417 pg_am
-915078125 v 0 0.0 0 false
false
+-710458066 pg_proc
-915078125 v 0 0.0 0 false
false
+-77334293 pg_trigger
-915078125 v 0 0.0 0 false
false
+1533609944 pg_attrdef
-915078125 v 0 0.0 0 false
false
+209142477 pg_database
-915078125 v 0 0.0 0 false
false
+-164161188 pg_user
-915078125 v 0 0.0 0 false
false
+Row Count : 27
+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_class 11 10 0
false false false false 2 true
true false false
+relname 12 PartsSupplier java.lang.String relname string
pg_catalog pg_class 4000 4000 0
false false false false 2 true
true false false
+relnamespace 4 PartsSupplier java.lang.Integer relnamespace integer
pg_catalog pg_class 11 10 0
false false false false 2 true
true false false
+relkind 1 PartsSupplier java.lang.String relkind char
pg_catalog pg_class 1 1 0
false false false false 2 true
true false false
+relam 4 PartsSupplier java.lang.Integer relam integer
pg_catalog pg_class 11 10 0
false false false false 2 true
true false false
+reltuples 7 PartsSupplier java.lang.Float reltuples float
pg_catalog pg_class 22 20 0
false false false false 2 true
true false false
+relpages 4 PartsSupplier java.lang.Integer relpages integer
pg_catalog pg_class 11 10 0
false false false false 2 true
true false false
+relhasrules -7 PartsSupplier java.lang.Boolean relhasrules boolean
pg_catalog pg_class 5 1 0
false false false false 2 true
true false false
+relhasoids 12 PartsSupplier java.lang.String relhasoids string
pg_catalog pg_class 4000 4000 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_DATABASE.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_DATABASE.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_DATABASE.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,14 @@
+integer string integer
integer char object
object integer
integer
+oid datname encoding
datlastsysoid datallowconn datconfig
datacl datdba
dattablespace
+0 teiid 6
100000 t <null>
<null> 0
0
+Row Count : 1
+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_database 11 10 0
false false false false 2 true
true false false
+datname 12 PartsSupplier java.lang.String datname string
pg_catalog pg_database 4000 4000 0
false false false false 2 true
true false false
+encoding 4 PartsSupplier java.lang.Integer encoding integer
pg_catalog pg_database 11 10 0
false false false false 2 true
true false false
+datlastsysoid 4 PartsSupplier java.lang.Integer datlastsysoid integer
pg_catalog pg_database 11 10 0
false false false false 2 true
true false false
+datallowconn 1 PartsSupplier java.lang.String datallowconn char
pg_catalog pg_database 1 1 0
false false false false 2 true
true false false
+datconfig 2000 PartsSupplier java.lang.Object datconfig object
pg_catalog pg_database 2147483647 2147483647 0
false false false false 2 true
true false false
+datacl 2000 PartsSupplier java.lang.Object datacl object
pg_catalog pg_database 2147483647 2147483647 0
false false false false 2 true
true false false
+datdba 4 PartsSupplier java.lang.Integer datdba integer
pg_catalog pg_database 11 10 0
false false false false 2 true
true false false
+dattablespace 4 PartsSupplier java.lang.Integer dattablespace integer
pg_catalog pg_database 11 10 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_INDEX.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_INDEX.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_INDEX.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,21 @@
+integer integer integer boolean boolean boolean string
string
+oid indexrelid indrelid indisclustered indisunique indisprimary
indexprs indkey
+-954501376 -954501376 1623654648 false false true
0
+84802949 84802949 1136825257 false false true
0
+-567580883 -567580883 -1690137928 false false true
0
+-1122313299 -1122313299 2040149098 false false true
0
+-1122313299 -1122313299 2040149098 false false true
0
+1607355935 1607355935 2040149098 false false false
0
+-1994509664 -1994509664 2040149098 false false false
0
+-1590144858 -1590144858 940336727 false false true
0
+-2018582450 -2018582450 940336727 false false false
0
+Row Count : 9
+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_index 11 10 0
false false false false 2 true
true false false
+indexrelid 4 PartsSupplier java.lang.Integer indexrelid
integer pg_catalog pg_index 11 10 0
false false false false 2 true
true false false
+indrelid 4 PartsSupplier java.lang.Integer indrelid
integer pg_catalog pg_index 11 10 0
false false false false 2 true
true false false
+indisclustered -7 PartsSupplier java.lang.Boolean indisclustered
boolean pg_catalog pg_index 5 1 0
false false false false 2 true
true false false
+indisunique -7 PartsSupplier java.lang.Boolean indisunique
boolean pg_catalog pg_index 5 1 0
false false false false 2 true
true false false
+indisprimary -7 PartsSupplier java.lang.Boolean indisprimary
boolean pg_catalog pg_index 5 1 0
false false false false 2 true
true false false
+indexprs 12 PartsSupplier java.lang.String indexprs string
pg_catalog pg_index 4000 4000 0
false false false false 2 true
true false false
+indkey 12 PartsSupplier java.lang.String indkey string
pg_catalog pg_index 4000 4000 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_NAMESPACE.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_NAMESPACE.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_NAMESPACE.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,9 @@
+integer string
+oid nspname
+152010958 PartsSupplier
+-2075981161 SYS
+-915078125 pg_catalog
+Row Count : 3
+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_namespace 11 10 0
false false false false 2 true
true false false
+nspname 12 PartsSupplier java.lang.String nspname string
pg_catalog pg_namespace 4000 4000 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_PROC.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_PROC.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_PROC.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,18 @@
+integer string boolean
integer short object
object object
object
integer
+oid proname proretset
prorettype pronargs proargtypes
proargnames proargmodes
proallargtypes
pronamespace
+962621677 getBinaryVDBResource false
-2019895717 2 <null>
<null>
<null> <null>
-2075981161
+-11263229 getCharacterVDBResource false
-957808587 2 <null>
<null>
<null> <null>
-2075981161
+-269626231 getVDBResourcePaths false
1224777906 2 <null>
<null>
<null> <null>
-2075981161
+-1846147944 getXMLSchemas false
<null> 2 <null>
<null>
<null> <null>
-2075981161
+Row Count : 4
+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_proc 11 10 0
false false false false 2 true
true false false
+proname 12 PartsSupplier java.lang.String proname string
pg_catalog pg_proc 4000 4000 0
false false false false 2 true
true false false
+proretset -7 PartsSupplier java.lang.Boolean proretset
boolean pg_catalog pg_proc 5 1 0
false false false false 2 true
true false false
+prorettype 4 PartsSupplier java.lang.Integer prorettype
integer pg_catalog pg_proc 11 10 0
false false false false 2 true
true false false
+pronargs 5 PartsSupplier java.lang.Short pronargs short
pg_catalog pg_proc 6 5 0
false false false false 2 true
true false false
+proargtypes 2000 PartsSupplier java.lang.Object proargtypes object
pg_catalog pg_proc 2147483647 2147483647 0
false false false false 2 true
true false false
+proargnames 2000 PartsSupplier java.lang.Object proargnames object
pg_catalog pg_proc 2147483647 2147483647 0
false false false false 2 true
true false false
+proargmodes 2000 PartsSupplier java.lang.Object proargmodes object
pg_catalog pg_proc 2147483647 2147483647 0
false false false false 2 true
true false false
+proallargtypes 2000 PartsSupplier java.lang.Object proallargtypes object
pg_catalog pg_proc 2147483647 2147483647 0
false false false false 2 true
true false false
+pronamespace 4 PartsSupplier java.lang.Integer pronamespace
integer pg_catalog pg_proc 11 10 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TRIGGER.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TRIGGER.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TRIGGER.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,13 @@
+integer integer integer integer integer boolean boolean
string integer
+oid tgconstrrelid tgfoid tgargs tgnargs tgdeferrable
tginitdeferred tgconstrname tgrelid
+Row Count : 0
+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_trigger 11 10 0
false false false false 2 true
true false false
+tgconstrrelid 4 PartsSupplier java.lang.Integer tgconstrrelid
integer pg_catalog pg_trigger 11 10 0
false false false false 2 true
true false false
+tgfoid 4 PartsSupplier java.lang.Integer tgfoid
integer pg_catalog pg_trigger 11 10 0
false false false false 2 true
true false false
+tgargs 4 PartsSupplier java.lang.Integer tgargs
integer pg_catalog pg_trigger 11 10 0
false false false false 2 true
true false false
+tgnargs 4 PartsSupplier java.lang.Integer tgnargs
integer pg_catalog pg_trigger 11 10 0
false false false false 2 true
true false false
+tgdeferrable -7 PartsSupplier java.lang.Boolean tgdeferrable
boolean pg_catalog pg_trigger 5 1 0
false false false false 2 true
true false false
+tginitdeferred -7 PartsSupplier java.lang.Boolean tginitdeferred
boolean pg_catalog pg_trigger 5 1 0
false false false false 2 true
true false false
+tgconstrname 12 PartsSupplier java.lang.String tgconstrname string
pg_catalog pg_trigger 4000 4000 0
false false false false 2 true
true false false
+tgrelid 4 PartsSupplier java.lang.Integer tgrelid
integer pg_catalog pg_trigger 11 10 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TYPE.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TYPE.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_TYPE.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,28 @@
+integer string integer
short char integer integer integer
+oid typname
typnamespace typlen typtype typbasetype typtypmod typrelid
+16 boolean
-2075981161 1 b 0 -1 0
+20 long
-2075981161 8 b 0 -1 0
+21 short
-2075981161 2 b 0 -1 0
+23 int
-2075981161 4 b 0 -1 0
+25 text
-2075981161 -1 b 0 -1 0
+26 oid
-2075981161 4 b 0 -1 0
+142 xml
-2075981161 -1 b 0 -1 0
+700 float
-2075981161 4 b 0 -1 0
+701 double
-2075981161 8 b 0 -1 0
+1042 char
-2075981161 1 b 0 -1 0
+1043 string
-2075981161 -1 b 0 -1 0
+1082 date
-2075981161 4 b 0 -1 0
+1083 datetime
-2075981161 8 b 0 -1 0
+1114 timestamp
-2075981161 8 b 0 -1 0
+1700 decimal
-2075981161 -1 b 0 -1 0
+14939 lo
-2075981161 -1 b 0 -1 0
+Row Count : 16
+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_type 11 10 0
false false false false 2 true
true false false
+typname 12 PartsSupplier java.lang.String typname string
pg_catalog pg_type 4000 4000 0
false false false false 2 true
true false false
+typnamespace 4 PartsSupplier java.lang.Integer typnamespace integer
pg_catalog pg_type 11 10 0
false false false false 2 true
true false false
+typlen 5 PartsSupplier java.lang.Short typlen short
pg_catalog pg_type 6 5 0
false false false false 2 true
true false false
+typtype 1 PartsSupplier java.lang.String typtype char
pg_catalog pg_type 1 1 0
false false false false 2 true
true false false
+typbasetype 4 PartsSupplier java.lang.Integer typbasetype integer
pg_catalog pg_type 11 10 0
false false false false 2 true
true false false
+typtypmod 4 PartsSupplier java.lang.Integer typtypmod integer
pg_catalog pg_type 11 10 0
false false false false 2 true
true false false
+typrelid 4 PartsSupplier java.lang.Integer typrelid integer
pg_catalog pg_type 11 10 0
false false false false 2 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_USER.expected
===================================================================
--- trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_USER.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestODBCSchema/test_PG_USER.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -0,0 +1,9 @@
+integer string boolean
boolean
+oid usename
usecreatedb usesuper
+0 <null>
false false
+Row Count : 1
+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_user 11 10 0
false false false false 2 true
true false false
+usename 12 PartsSupplier java.lang.String usename string
pg_catalog pg_user 4000 4000 0
false false false false 2 true
true false false
+usecreatedb -7 PartsSupplier java.lang.Boolean usecreatedb boolean
pg_catalog pg_user 5 1 0
false false false false 2 true
true false false
+usesuper -7 PartsSupplier java.lang.Boolean usesuper boolean
pg_catalog pg_user 5 1 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 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -28,6 +28,7 @@
PartsSupplier SYS
Columns
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 26
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Columns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 27
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Columns
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 28
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Columns
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 29
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
DataTypes
Name 12
string 100
<null> 0
10 0 <null>
<null>
<null> <null>
100 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
DataTypes
IsStandard -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
DataTypes
IsPhysical -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 3
NO <null>
<null>
<null> !
<null>
NO
@@ -46,6 +47,7 @@
PartsSupplier SYS
DataTypes
RuntimeType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 16
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
DataTypes
BaseType 12
string 64
<null> 0
10 1 <null>
<null>
<null> <null>
64 17
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
DataTypes
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 18
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
DataTypes
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 19
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
KeyColumns
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
KeyColumns
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
KeyColumns
TableName 12
string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
@@ -55,6 +57,7 @@
PartsSupplier SYS
KeyColumns
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 7
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
KeyColumns
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 8
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
KeyColumns
Position 4
integer 10
<null> 0
10 1 <null>
<null>
<null> <null>
10 9
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
KeyColumns
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 10
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Keys
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Keys
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Keys
TableName 12
string 2048
<null> 0
10 0 <null>
<null>
<null> <null>
2048 3
YES <null>
<null>
<null> !
<null>
NO
@@ -65,6 +68,7 @@
PartsSupplier SYS
Keys
IsIndexed -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 8
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Keys
RefKeyUID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 9
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Keys
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 10
YES <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Keys
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 11
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID 12
string 4
<null> 0
10 0 <null>
<null>
<null> <null>
4 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_COLOR 12
string 30
<null> 0
10 1 <null>
<null>
<null> <null>
30 3
NO <null>
<null>
<null> !
<null>
NO
@@ -97,6 +101,7 @@
PartsSupplier SYS
ProcedureParams
NullType 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ProcedureParams
UID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 14
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ProcedureParams
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 15
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
ProcedureParams
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 16
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
@@ -104,9 +109,11 @@
PartsSupplier SYS
Procedures
ReturnsResults -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
1 5
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 6
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 7
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Procedures
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 8
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Properties
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Properties
Value 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 2
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Properties
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 3
YES <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Properties
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 4
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_CAT 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_SCHEM 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_NAME 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 3
NO <null>
<null>
<null> !
<null>
NO
@@ -127,6 +134,7 @@
PartsSupplier SYS
Schemas
UID 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 4
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Schemas
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 5
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Schemas
PrimaryMetamodelURI 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 6
YES <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Schemas
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 7
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Tables
VDBName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 1
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Tables
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Tables
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
@@ -139,9 +147,85 @@
PartsSupplier SYS
Tables
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 10
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Tables
IsSystem -7
boolean 1
<null> 0
10 1 <null>
<null>
<null> <null>
1 11
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Tables
IsMaterialized -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 12
YES <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
Tables
OID 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
VirtualDatabases
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
VirtualDatabases
Version 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-Row Count : 141
+PartsSupplier pg_catalog
pg_am
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_am
amname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attrdef
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attrdef
adsrc 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attrdef
adrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attrdef
adnum 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
atttypid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attlen 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attnum 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
atttypmod 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attnotnull -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
attisdropped -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_attribute
atthasdef -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 10
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relnamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relkind 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relam 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
reltuples 7
float 20
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relpages 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relhasrules -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_class
relhasoids 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
encoding 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datlastsysoid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datallowconn 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datconfig
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datacl
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
datdba 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_database
dattablespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indexrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indisclustered -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indisunique -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indisprimary -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indexprs 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_index
indkey 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_namespace
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_namespace
nspname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proretset -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
prorettype 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
pronargs 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proargtypes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proargnames
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proargmodes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
proallargtypes
2000 object 2147483647
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_proc
pronamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 10
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgconstrrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgfoid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgargs 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgnargs 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgdeferrable -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tginitdeferred -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgconstrname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_trigger
tgrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 9
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typname 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typnamespace 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typlen 5
short 5
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typtype 1
char 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 5
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typbasetype 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 6
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typtypmod 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 7
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_type
typrelid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 8
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_user
oid 4
integer 10
<null> 0 0
2 <null>
<null>
<null> <null>
0 1
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_user
usename 12
string 4000
<null> 0 0
2 <null>
<null>
<null> <null>
0 2
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_user
usecreatedb -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 3
<null>
<null>
<null> !
<null>
NO
+PartsSupplier pg_catalog
pg_user
usesuper -7
boolean 1
<null> 0 0
2 <null>
<null>
<null> <null>
0 4
<null>
<null>
<null> !
<null>
NO
+Row Count : 225
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 PartsSupplier java.lang.String TABLE_CAT
string SYS Columns 255 255 0
false false false false 0 true
true false false
TABLE_SCHEM 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/testSchemas.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testSchemas.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -2,7 +2,8 @@
TABLE_SCHEM TABLE_CATALOG
PartsSupplier PartsSupplier
SYS PartsSupplier
-Row Count : 2
+pg_catalog PartsSupplier
+Row Count : 3
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_SCHEM 12 PartsSupplier java.lang.String TABLE_SCHEM string
SYS Schemas 255 255 0
false true false true 1 false
true true true
TABLE_CATALOG 12 PartsSupplier java.lang.String TABLE_CATALOG string
SYS Schemas 255 255 0
false true false true 1 false
true true true
Modified:
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testTables.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -11,12 +11,23 @@
PartsSupplier SYS
Schemas
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier SYS
Tables
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier SYS
VirtualDatabases
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> true
+PartsSupplier pg_catalog
pg_am
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_attrdef
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_attribute
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_class
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_database
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_index
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_namespace
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_proc
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_trigger
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_type
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
+PartsSupplier pg_catalog
pg_user
SYSTEM TABLE
<null> <null>
<null>
<null>
<null>
<null> false
PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
TABLE
<null> <null>
<null>
<null>
<null>
<null> true
-Row Count : 16
+Row Count : 27
getColumnName getColumnType getCatalogName getColumnClassName
getColumnLabel getColumnTypeName getSchemaName getTableName
getColumnDisplaySize getPrecision getScale isAutoIncrement isCaseSensitive isCurrency
isDefinitelyWritable isNullable isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 PartsSupplier java.lang.String TABLE_CAT
string SYS Tables 255 255
0 false true false true 1
false true true true
TABLE_SCHEM 12 PartsSupplier java.lang.String TABLE_SCHEM
string SYS Tables 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 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,147 +1,231 @@
-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
-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
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-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>
-Row Count : 141
+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> 449930315
+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> -827418434
+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> 1904600238
+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> 1757202753
+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> -1881787205
+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> 104049003
+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> -33148063
+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> 2081463498
+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> -1798385399
+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> -1742254424
+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> 156365359
+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> 1549159280
+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> -1392258153
+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> -639211628
+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> -627255997
+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> -716350485
+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> 1816028845
+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> 1346376866
+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> -302000488
+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> -318434336
+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> 99434351
+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> 1025501313
+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> 1589184032
+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> 1838086626
+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> 810689849
+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> -227498353
+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> -1736557250
+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> 1175465478
+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> -439386537
+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> 388003599
+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> -708799924
+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> -800318605
+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> 1504393951
+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> -1410117530
+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> 2044345153
+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> -852036943
+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> 2038419570
+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> -553383651
+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> 304004456
+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> -211689398
+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> -2096082716
+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> 1552424938
+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> -1431993426
+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> 1127616920
+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> -1412388946
+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> 988889238
+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> 2034926350
+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> 425155393
+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> -1008332542
+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> -1887591430
+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> 1640613833
+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> -1915969202
+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> 690430606
+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> -1192264541
+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> -826716590
+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> -1100843962
+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> -593996602
+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> 239676287
+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> 220538653
+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> -252713441
+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> -1768740125
+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> -488975294
+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> 1702443356
+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> -2084878595
+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> 120374768
+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> 1413251219
+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> 415310936
+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> -601712965
+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> 98394392
+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> 2006785825
+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> -1986083814
+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> -1794301564
+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> -1088265444
+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> 14793330
+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> 2032364534
+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> -1101199867
+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> 1551740858
+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> 549758030
+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> -1715655065
+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> -1959434503
+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> 1849512787
+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> -187678130
+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> -732937332
+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> 1214741362
+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> -207752578
+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> 748017945
+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> 1013266093
+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> -1878816788
+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> 2030457340
+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> 707895027
+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> 741988173
+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> 2009321453
+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> -460741195
+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> -22652004
+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> 1957953763
+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> 1612225140
+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> -202037504
+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> 1264644385
+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> 1400996724
+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> -797147767
+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> -1477852881
+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> -784751184
+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> 1834223700
+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> 39358754
+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> 173333941
+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> 866435638
+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> -1767641899
+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> 1559537335
+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> -1960637886
+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> 616923420
+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> -1799226271
+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> 1944775942
+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> -1759292119
+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> 1074685596
+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> -944775923
+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> -1162137751
+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> -1168783734
+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> -917271927
+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> 920862690
+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> -1799446175
+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> 1376383558
+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> -1060614397
+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> 37248193
+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> -1594935697
+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> -1862131168
+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> 846555123
+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> 1405495099
+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> 880927430
+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> -352113497
+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> -948014349
+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> 1747073036
+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> -710939971
+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> 996977955
+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> 2018331904
+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> -1864727535
+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> 633179490
+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> -908438290
+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> -1166122209
+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> 1001441719
+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> -175171634
+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> -449329715
+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> 625775649
+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> 854014254
+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> -1451894484
+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> 1975537358
+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> 675421827
+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> 1083046346
+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> 743485616
+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> 411746507
+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> -357731549
+PartsSupplier pg_catalog
pg_attrdef
adnum 4
<null> integer
0 0 false
true false false false false false
Unknown <null>
<null> Searchable
<null> <null>
java.lang.Integer
0 0 0
mmuuid:520aa08f-1341-4e8e-8abd-5785128d79ab !
<null> -1546672787
+PartsSupplier pg_catalog
pg_attrdef
adrelid 3
<null> integer
0 0 false
true false false false false false
Unknown <null>
<null> Searchable
<null> <null>
java.lang.Integer
0 0 0
mmuuid:54648256-35de-4dd3-9d23-1cf7d14aac1f !
<null> 1059469691
+PartsSupplier pg_catalog
pg_attrdef
adsrc 2
<null> integer
0 0 false
true false false false false false
Unknown <null>
<null> Searchable
<null> <null>
java.lang.Integer
0 0 0
mmuuid:1f29af59-2a39-4cad-b6ff-986ff224db27 !
<null> -331283891
+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
mmuuid:ed5b2740-5024-4c3c-a1ac-9187d0ab16c7 !
<null> 1511248377
+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
mmuuid:be916cb0-0f48-44d7-ae5c-003822ee3e57 !
<null> 2145379509
+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
mmuuid:910c0c60-63be-44fb-bc30-1ba5528cf471 !
<null> -2003496118
+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
mmuuid:36973b20-e707-460e-aaa5-ed38f9a1d90a !
<null> -1795441436
+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
mmuuid:7099d08f-4206-400e-ba65-fbeeb2066070 !
<null> -574665690
+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
mmuuid:e9230efa-bde9-49ea-b6da-6ede8c5fb3ee !
<null> 1919642235
+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
mmuuid:ca1c8121-21d7-4a19-b009-a0ef482f5657 !
<null> -368889602
+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
mmuuid:5f18b807-9eef-41fa-b6d0-b83e2bf6fa5d !
<null> 1817835217
+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
mmuuid:8ef029fe-6410-4c34-8f35-301d25d7bd59 !
<null> -1055354453
+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
mmuuid:455e727b-8276-4bcd-bd65-9a43b990416a !
<null> -1832736504
+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
mmuuid:80ed5897-0b9c-4b3a-95ee-0e5ff4faad34 !
<null> -639480338
+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
mmuuid:7be945c4-6bca-4f65-b655-b055b6d31c56 !
<null> 2090011815
+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
mmuuid:dde7619f-7071-490f-85c8-ba8c68cb0e78 !
<null> 1265212944
+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
mmuuid:1190357d-63d4-4b19-a0cd-f9f23b11e23e !
<null> -1356986869
+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
mmuuid:c93379b9-1b4d-4068-890f-deed28338a54 !
<null> -1897406238
+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
mmuuid:e751d595-6afe-430e-9f57-a56cee474765 !
<null> -1631782981
+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
mmuuid:6261ae76-3d53-4bda-bb5c-a353818292ae !
<null> 1220708103
+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
mmuuid:637b6fec-e56a-461b-b714-7c88976d7cde !
<null> 190169626
+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
mmuuid:b99ce838-8576-423a-b5b7-e58080e3e65d !
<null> 129149326
+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
mmuuid:16e440fd-616a-4437-a630-abc2d90c728e !
<null> -1332345703
+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
mmuuid:bce548a8-ac4a-4c71-a7ab-2ca0235e81ed !
<null> -572843177
+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
mmuuid:37e53c0f-08b4-403f-a8c6-5b28c367b62c !
<null> -1371913171
+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
mmuuid:48d79b76-983b-4291-89c2-41222c2f1296 !
<null> 375662166
+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
mmuuid:4dfcc8eb-a131-4234-993f-051dfa15934e !
<null> -501867330
+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
mmuuid:94eed371-461a-47b8-8ca1-0494fa0108fb !
<null> 842922062
+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
mmuuid:8e2c1f9f-359d-4c33-afa5-20fa87585442 !
<null> -628173568
+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
mmuuid:36d8ca5a-4747-4bb0-8b7b-9f50f6eb9a0e !
<null> 373628435
+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
mmuuid:2a19b579-70b9-4923-a5df-6bbbbc642042 !
<null> 1625508050
+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
mmuuid:5142b0b5-b166-4e17-b18c-5bbdb023e1c3 !
<null> 2103741346
+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
mmuuid:83240e67-acd6-49d3-be86-a4e186d110ea !
<null> 1257605974
+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
mmuuid:f846b870-445f-4263-905b-f43ebdea385e !
<null> 1364472411
+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
mmuuid:644ce6f8-a75f-46e6-a03a-294b02feb6fc !
<null> 348003813
+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
mmuuid:246f56c3-5268-42b8-a486-d3c77653f603 !
<null> -1984635687
+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
mmuuid:7b1632d0-8357-47d6-9233-24291059f37d !
<null> 1255466367
+PartsSupplier pg_catalog
pg_attrdef
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
mmuuid:280c0f10-ed7b-4d36-95a4-1409f22c3839 !
<null> -607267013
+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
mmuuid:a2be6d15-b504-4257-962e-2c3fa90e3c16 !
<null> 446356164
+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
mmuuid:dcebd4db-ba52-4909-ab57-528c818e94b7 !
<null> -311176298
+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
mmuuid:f0e04ef7-1a8b-4007-bce2-e2beba667d53 !
<null> 1421812587
+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
mmuuid:fd6e0be2-e336-4d3b-8217-f85cfcd0999b !
<null> -1648420405
+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
mmuuid:bfc2e071-c49d-40b1-b3e9-d4891af6a77c !
<null> 112570388
+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
mmuuid:4af1aac3-5d4c-47c5-ab6c-4a52b5b551b7 !
<null> -664211823
+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
mmuuid:b9c340ba-bf6f-41ba-aa40-f3c607077280 !
<null> -834139826
+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
mmuuid:458f5136-4128-47e8-8063-3c97fb1add5c !
<null> -1460928205
+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
mmuuid:1490582b-6223-44df-8b20-9bcd5d241aa8 !
<null> -139838005
+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
mmuuid:0e2c6601-ecc9-41e2-be0d-3a27565b3714 !
<null> 499803309
+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
mmuuid:d5e2bf27-a413-4146-a059-37bf651a1b97 !
<null> 1397859651
+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
mmuuid:6d59ce95-63ef-445d-bf17-6bcb45850623 !
<null> -1870447130
+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
mmuuid:e099cd49-b50b-4573-a931-9c9eb95d75ae !
<null> -723255984
+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
mmuuid:712a6f1e-0c49-48dc-99ed-9f55a7c3d6d4 !
<null> 2022840685
+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
mmuuid:0a280f97-8dce-4123-bbc9-54bf3b5fd8f6 !
<null> -2108781653
+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
mmuuid:e6534fee-6712-4574-b228-2787fb960e46 !
<null> -1521761894
+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
mmuuid:6881bd36-92b9-4552-b953-028036d59f50 !
<null> 559270286
+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
mmuuid:a74a4a3b-20b0-4a62-ac3a-4bd2047979fc !
<null> -1131535092
+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
mmuuid:d1b54420-5e09-41e0-a177-181e6a6b94d4 !
<null> 1412069305
+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
mmuuid:6ab14a63-9aa3-416c-872b-8f6a37131fa4 !
<null> -1427817109
+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
mmuuid:ad972784-8dc3-4151-b113-3d95967dc19f !
<null> 1978541887
+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
mmuuid:f78e6a3c-5c27-4381-9d76-870fd3b6b510 !
<null> -1839359651
+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
mmuuid:264a3677-584c-4ecd-808b-b837acd9c129 !
<null> 224520183
+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
mmuuid:9a9d2791-506e-4e06-88e2-fadb90cb8d8c !
<null> -175657451
+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
mmuuid:034bb072-1571-4953-bc18-216478346304 !
<null> 1760818902
+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
mmuuid:ec283b19-42a0-441f-8198-b80f353720d1 !
<null> 1345190695
+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
mmuuid:3aecc7ac-d54a-4bf7-be75-f64b37eb59ab !
<null> 824464965
+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
mmuuid:e7df7d7a-1ddd-4a56-8514-82272eef5aa3 !
<null> -1602004266
+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
mmuuid:33b00d6a-aae5-4bcd-80cc-ec7052bdeca2 !
<null> 30131224
+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
mmuuid:e9f471d8-7ad0-48a9-ab64-7adbe922ff9b !
<null> -2137383909
+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
mmuuid:e1723124-4e26-4971-a407-ceefaf0f624d !
<null> -664776960
+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
mmuuid:d44fc440-a677-463f-a403-f04f1896a705 !
<null> -1112999853
+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
mmuuid:496eb63b-7fb2-4d56-90ac-11e5717acadd !
<null> 622706593
+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
mmuuid:800d1b55-c775-4a63-b5ed-e76d3b112f60 !
<null> -919158145
+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
mmuuid:7f20dc11-f376-4da5-9fe5-139c2562b4c2 !
<null> 1288630002
+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
mmuuid:8d148996-16a1-44d8-b5ff-06f9421415d4 !
<null> 717511814
+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
mmuuid:f3434529-3e9a-4f11-90c0-b74374947902 !
<null> 1033115127
+Row Count : 225
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
@@ -171,3 +255,4 @@
Radix 4 PartsSupplier java.lang.Integer Radix
integer SYS Columns 11 10 0
false false false false 0 true
true false false
UID 12 PartsSupplier java.lang.String UID
string SYS Columns 50 50 0
false false false false 0 true
true false false
Description 12 PartsSupplier java.lang.String Description
string SYS Columns 255 255 0
false true false true 1 false
true true true
+OID 4 PartsSupplier java.lang.Integer OID
integer SYS Columns 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,57 +1,57 @@
-string boolean boolean
string string
integer integer string
boolean boolean boolean integer integer string
string string
string
string
-Name IsStandard IsPhysical
TypeName JavaClass
Scale TypeLength NullType
IsSigned IsAutoIncremented IsCaseSensitive Precision Radix SearchType
UID RuntimeType
BaseType
Description
-ENTITIES false false
ENTITIES java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:20360100-e742-1e20-8c26-a038c6ed7576 string
ENTITY
<null>
-ENTITY false false
ENTITY java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:9fece300-e71a-1e20-8c26-a038c6ed7576 string
NCName
<null>
-ID false false
ID java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:88b13dc0-e702-1e20-8c26-a038c6ed7576 string
NCName
<null>
-IDREF false false
IDREF java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dd33ff40-e6df-1e20-8c26-a038c6ed7576 string
NCName
<null>
-IDREFS false false
IDREFS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3c99f780-e72d-1e20-8c26-a038c6ed7576 string
IDREF
<null>
-NCName false false
NCName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:ac00e000-e676-1e20-8c26-a038c6ed7576 string
Name
<null>
-NMTOKEN false false
NMTOKEN java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4ca2ae00-3a95-1e20-921b-eeee28353879 string
token
<null>
-NMTOKENS false false
NMTOKENS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4b0f8500-e6a6-1e20-8c26-a038c6ed7576 string
NMTOKEN
<null>
-NOTATION false false
NOTATION java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3dcaf900-e8dc-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
-Name false false
Name java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:e66c4600-e65b-1e20-8c26-a038c6ed7576 string
token
<null>
-QName false false
QName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:eeb5d780-e8c3-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
-XMLLiteral false false
XMLLiteral
org.teiid.core.types.XMLType 0 0
No Nulls false false false 0 0
Searchable mmuuid:43f5274e-55e1-1f87-ba1c-eea49143eb32 xml
string
<null>
-anyURI false false
anyURI java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6247ec80-e8a4-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
-base64Binary false false
base64Binary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b4c99380-ebc6-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null>
-bigdecimal false false
bigdecimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:f2249740-a078-1e26-9b08-d6079ebe1f0d bigdecimal
decimal
<null>
-biginteger false false
biginteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:822b9a40-a066-1e26-9b08-d6079ebe1f0d biginteger
decimal
<null>
-blob false false
blob
org.teiid.core.types.BlobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:5a793100-1836-1ed0-ba0f-f2334f5fbf95 blob
base64Binary
<null>
-boolean false false
boolean java.lang.Boolean
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dc476100-c483-1e24-9b01-c8207cd53eb7 boolean
anySimpleType
<null>
-byte false false
byte java.lang.Byte
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:26dc1cc0-b9c8-1e21-b812-969c8fc8b016 byte
short
<null>
-char false false
char java.lang.Character
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:62472700-a064-1e26-9b08-d6079ebe1f0d char
string
<null>
-clob false false
clob
org.teiid.core.types.ClobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:559646c0-4941-1ece-b22b-f49159d22ad3 clob
string
<null>
-date false false
date java.sql.Date
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:65dcde00-c4ab-1e24-9b01-c8207cd53eb7 date
anySimpleType
<null>
-dateTime false false
dateTime java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5c69dec0-b3ea-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
-decimal false false
decimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:569dfa00-c456-1e24-9b01-c8207cd53eb7 bigdecimal
anySimpleType
<null>
-double false false
double java.lang.Double
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1f18b140-c4a3-1e24-9b01-c8207cd53eb7 double
anySimpleType
<null>
-duration false false
duration java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:28d98540-b3e7-1e2a-9a03-beb8638ffd21 string
anySimpleType
<null>
-float false false
float java.lang.Float
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d86b0d00-c48a-1e24-9b01-c8207cd53eb7 float
anySimpleType
<null>
-gDay false false
gDay java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:860b7dc0-b3f8-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
-gMonth false false
gMonth java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:187f5580-b3fb-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
-gMonthDay false false
gMonthDay java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6e604140-b3f5-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
-gYear false false
gYear java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b02c7600-b3f2-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
-gYearMonth false false
gYearMonth java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:17d08040-b3ed-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
-hexBinary false false
hexBinary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d9998500-ebba-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null>
-int false false
int java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:33add3c0-b98d-1e21-b812-969c8fc8b016 integer
long
<null>
-integer false false
integer java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:45da3500-e78f-1e20-8c26-a038c6ed7576 biginteger
decimal
<null>
-language false false
language java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d4d980c0-e623-1e20-8c26-a038c6ed7576 string
token
<null>
-long false false
long java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:8cdee840-b900-1e21-b812-969c8fc8b016 long
integer
<null>
-negativeInteger false false
negativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:86d29280-b8d3-1e21-b812-969c8fc8b016 biginteger
nonPositiveInteger
<null>
-nonNegativeInteger false false
nonNegativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:0e081200-b8a4-1e21-b812-969c8fc8b016 biginteger
integer
<null>
-nonPositiveInteger false false
nonPositiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cbdd6e40-b9d2-1e21-8c26-a038c6ed7576 biginteger
integer
<null>
-normalizedString false false
normalizedString java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4df43700-3b13-1e20-921b-eeee28353879 string
string
<null>
-object false false
object java.lang.Object
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:051a0640-b4e8-1e26-9f33-b76fd9d5fa79 object
base64Binary
<null>
-positiveInteger false false
positiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1cbbd380-b9ea-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null>
-short false false
short java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5bbcf140-b9ae-1e21-b812-969c8fc8b016 short
int
<null>
-string false false
string java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:bf6c34c0-c442-1e24-9b01-c8207cd53eb7 string
anySimpleType
<null>
-time false false
time java.sql.Time
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3b892180-c4a7-1e24-9b01-c8207cd53eb7 time
anySimpleType
<null>
-timestamp false false
timestamp java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6d9809c0-a07e-1e26-9b08-d6079ebe1f0d timestamp
string
<null>
-token false false
token java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3425cb80-d844-1e20-9027-be6d2c3b8b3a string
normalizedString
<null>
-unsignedByte false false
unsignedByte java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cff745c0-baa2-1e21-b812-969c8fc8b016 short
unsignedShort
<null>
-unsignedInt false false
unsignedInt java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:badcbd80-ba63-1e21-b812-969c8fc8b016 long
unsignedLong
<null>
-unsignedLong false false
unsignedLong java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:54b98780-ba14-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null>
-unsignedShort false false
unsignedShort java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:327093c0-ba88-1e21-b812-969c8fc8b016 integer
unsignedInt
<null>
+string boolean boolean
string string
integer integer string
boolean boolean boolean integer integer string
string string
string
string integer
+Name IsStandard IsPhysical
TypeName JavaClass
Scale TypeLength NullType
IsSigned IsAutoIncremented IsCaseSensitive Precision Radix SearchType
UID RuntimeType
BaseType
Description OID
+ENTITIES false false
ENTITIES java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:20360100-e742-1e20-8c26-a038c6ed7576 string
ENTITY
<null> 1565845655
+ENTITY false false
ENTITY java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:9fece300-e71a-1e20-8c26-a038c6ed7576 string
NCName
<null> 1601134012
+ID false false
ID java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:88b13dc0-e702-1e20-8c26-a038c6ed7576 string
NCName
<null> -439734338
+IDREF false false
IDREF java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dd33ff40-e6df-1e20-8c26-a038c6ed7576 string
NCName
<null>
-2067437138
+IDREFS false false
IDREFS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3c99f780-e72d-1e20-8c26-a038c6ed7576 string
IDREF
<null>
-1543702982
+NCName false false
NCName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:ac00e000-e676-1e20-8c26-a038c6ed7576 string
Name
<null> 528679266
+NMTOKEN false false
NMTOKEN java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4ca2ae00-3a95-1e20-921b-eeee28353879 string
token
<null> 1089379376
+NMTOKENS false false
NMTOKENS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4b0f8500-e6a6-1e20-8c26-a038c6ed7576 string
NMTOKEN
<null> -49524128
+NOTATION false false
NOTATION java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3dcaf900-e8dc-1e2a-b433-fb67ea35c07e string
anySimpleType
<null> 2042518870
+Name false false
Name java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:e66c4600-e65b-1e20-8c26-a038c6ed7576 string
token
<null> 289122055
+QName false false
QName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:eeb5d780-e8c3-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
-1116454591
+XMLLiteral false false
XMLLiteral
org.teiid.core.types.XMLType 0 0
No Nulls false false false 0 0
Searchable mmuuid:43f5274e-55e1-1f87-ba1c-eea49143eb32 xml
string
<null>
-540990016
+anyURI false false
anyURI java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6247ec80-e8a4-1e2a-b433-fb67ea35c07e string
anySimpleType
<null> -59208011
+base64Binary false false
base64Binary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b4c99380-ebc6-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null> -823222669
+bigdecimal false false
bigdecimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:f2249740-a078-1e26-9b08-d6079ebe1f0d bigdecimal
decimal
<null> 1979280431
+biginteger false false
biginteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:822b9a40-a066-1e26-9b08-d6079ebe1f0d biginteger
decimal
<null> 559842102
+blob false false
blob
org.teiid.core.types.BlobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:5a793100-1836-1ed0-ba0f-f2334f5fbf95 blob
base64Binary
<null>
-2019895717
+boolean false false
boolean java.lang.Boolean
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dc476100-c483-1e24-9b01-c8207cd53eb7 boolean
anySimpleType
<null> 634647251
+byte false false
byte java.lang.Byte
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:26dc1cc0-b9c8-1e21-b812-969c8fc8b016 byte
short
<null> 2134665454
+char false false
char java.lang.Character
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:62472700-a064-1e26-9b08-d6079ebe1f0d char
string
<null> 1839898766
+clob false false
clob
org.teiid.core.types.ClobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:559646c0-4941-1ece-b22b-f49159d22ad3 clob
string
<null>
-957808587
+date false false
date java.sql.Date
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:65dcde00-c4ab-1e24-9b01-c8207cd53eb7 date
anySimpleType
<null> 109587055
+dateTime false false
dateTime java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5c69dec0-b3ea-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null> 1783381066
+decimal false false
decimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:569dfa00-c456-1e24-9b01-c8207cd53eb7 bigdecimal
anySimpleType
<null> -422637353
+double false false
double java.lang.Double
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1f18b140-c4a3-1e24-9b01-c8207cd53eb7 double
anySimpleType
<null>
-1896323898
+duration false false
duration java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:28d98540-b3e7-1e2a-9a03-beb8638ffd21 string
anySimpleType
<null> -151641591
+float false false
float java.lang.Float
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d86b0d00-c48a-1e24-9b01-c8207cd53eb7 float
anySimpleType
<null>
-1100092516
+gDay false false
gDay java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:860b7dc0-b3f8-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
-1907680065
+gMonth false false
gMonth java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:187f5580-b3fb-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null> 631420857
+gMonthDay false false
gMonthDay java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6e604140-b3f5-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
-1953829478
+gYear false false
gYear java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b02c7600-b3f2-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null> 1667865721
+gYearMonth false false
gYearMonth java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:17d08040-b3ed-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
-1828535858
+hexBinary false false
hexBinary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d9998500-ebba-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null> 515983103
+int false false
int java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:33add3c0-b98d-1e21-b812-969c8fc8b016 integer
long
<null> -678912492
+integer false false
integer java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:45da3500-e78f-1e20-8c26-a038c6ed7576 biginteger
decimal
<null> 1269190693
+language false false
language java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d4d980c0-e623-1e20-8c26-a038c6ed7576 string
token
<null> 443789629
+long false false
long java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:8cdee840-b900-1e21-b812-969c8fc8b016 long
integer
<null> 433384988
+negativeInteger false false
negativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:86d29280-b8d3-1e21-b812-969c8fc8b016 biginteger
nonPositiveInteger
<null> -592526000
+nonNegativeInteger false false
nonNegativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:0e081200-b8a4-1e21-b812-969c8fc8b016 biginteger
integer
<null> -844884883
+nonPositiveInteger false false
nonPositiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cbdd6e40-b9d2-1e21-8c26-a038c6ed7576 biginteger
integer
<null> 1697749355
+normalizedString false false
normalizedString java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4df43700-3b13-1e20-921b-eeee28353879 string
string
<null>
-2098593753
+object false false
object java.lang.Object
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:051a0640-b4e8-1e26-9f33-b76fd9d5fa79 object
base64Binary
<null> 674241220
+positiveInteger false false
positiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1cbbd380-b9ea-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null>
-1533643138
+short false false
short java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5bbcf140-b9ae-1e21-b812-969c8fc8b016 short
int
<null> 1337171058
+string false false
string java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:bf6c34c0-c442-1e24-9b01-c8207cd53eb7 string
anySimpleType
<null> 1224777906
+time false false
time java.sql.Time
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3b892180-c4a7-1e24-9b01-c8207cd53eb7 time
anySimpleType
<null> 1870061442
+timestamp false false
timestamp java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6d9809c0-a07e-1e26-9b08-d6079ebe1f0d timestamp
string
<null> 801803261
+token false false
token java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3425cb80-d844-1e20-9027-be6d2c3b8b3a string
normalizedString
<null> 623861893
+unsignedByte false false
unsignedByte java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cff745c0-baa2-1e21-b812-969c8fc8b016 short
unsignedShort
<null> 292367594
+unsignedInt false false
unsignedInt java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:badcbd80-ba63-1e21-b812-969c8fc8b016 long
unsignedLong
<null>
-1139603532
+unsignedLong false false
unsignedLong java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:54b98780-ba14-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null> 2071095683
+unsignedShort false false
unsignedShort java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:327093c0-ba88-1e21-b812-969c8fc8b016 integer
unsignedInt
<null> -214092520
Row Count : 52
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
Name 12 PartsSupplier java.lang.String Name
string SYS DataTypes 100 100 0
false true false false 0 true
true true false
@@ -72,3 +72,4 @@
RuntimeType 12 PartsSupplier java.lang.String RuntimeType
string SYS DataTypes 64 64 0
false true false false 1 true
true true false
BaseType 12 PartsSupplier java.lang.String BaseType
string SYS DataTypes 64 64 0
false true false false 1 true
true true false
Description 12 PartsSupplier java.lang.String Description
string SYS DataTypes 255 255 0
false true false true 1 false
true true true
+OID 4 PartsSupplier java.lang.Integer OID
integer SYS DataTypes 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,14 +1,14 @@
-string string
string
string
string string
string string
integer
-VDBName SchemaName
TableName
Name
KeyName KeyType
RefKeyUID UID
Position
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
FK_SPLIER_PRTS_PRTS Foreign
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID
PK_PARTS Primary
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 2
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
SHIPPER_ID
PK_SHIP_VIA Primary
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_ID
PK_STATUS Primary
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
FK_SPLY_PRTS_SPLY Foreign
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_ID
PK_SUPPLIER Primary
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 1
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATUS
FK_SPLIER_STATS Foreign
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590 1
+string string
string
string
string string
string string
integer integer
+VDBName SchemaName
TableName
Name
KeyName KeyType
RefKeyUID UID
Position OID
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
FK_SPLIER_PRTS_PRTS Foreign
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590 1 1607355935
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID
PK_PARTS Primary
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 1 -954501376
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 2 -1122313299
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
SHIPPER_ID
PK_SHIP_VIA Primary
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590 1 84802949
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_ID
PK_STATUS Primary
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 1 -567580883
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
FK_SPLY_PRTS_SPLY Foreign
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590 1 -1994509664
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_ID
PK_SUPPLIER Primary
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 1 -1590144858
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 1 -1122313299
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATUS
FK_SPLIER_STATS Foreign
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590 1 -2018582450
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 PartsSupplier java.lang.String VDBName string
SYS KeyColumns 255 255 0
false false false false 0 true
true false false
@@ -20,3 +20,4 @@
RefKeyUID 12 PartsSupplier java.lang.String RefKeyUID string
SYS KeyColumns 50 50 0
false false false false 1 true
true false false
UID 12 PartsSupplier java.lang.String UID string
SYS KeyColumns 50 50 0
false false false false 0 true
true false false
Position 4 PartsSupplier java.lang.Integer Position integer
SYS KeyColumns 11 10 0
false true false true 1 false
true true true
+OID 4 PartsSupplier java.lang.Integer OID integer
SYS KeyColumns 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,13 +1,13 @@
-string string
string
string
string string
string boolean string
string
-VDBName SchemaName
TableName
Name
Description NameInSource
Type IsIndexed RefKeyUID
UID
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLIER_PRTS_PRTS
<null>
FK_SPLIER_PRTS_PRTS Foreign
false mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
FK_SPLIER_STATS
<null> FK_SPLIER_STATS
Foreign false
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLY_PRTS_SPLY
<null> FK_SPLY_PRTS_SPLY
Foreign false
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PK_PARTS
<null> <null>
Primary false
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
PK_SHIP_VIA
<null> <null>
Primary false
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
PK_STATUS
<null> <null>
Primary false
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
PK_SUPPLIER
<null> <null>
Primary false
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PK_SUPPLIER_PARTS
<null> <null>
Primary false
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590
+string string
string
string
string string
string boolean string
string
integer
+VDBName SchemaName
TableName
Name
Description NameInSource
Type IsIndexed RefKeyUID
UID
OID
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLIER_PRTS_PRTS
<null>
FK_SPLIER_PRTS_PRTS Foreign
false mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590 1607355935
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
FK_SPLIER_STATS
<null> FK_SPLIER_STATS
Foreign false
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590 -2018582450
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLY_PRTS_SPLY
<null> FK_SPLY_PRTS_SPLY
Foreign false
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590 -1994509664
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PK_PARTS
<null> <null>
Primary false
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 -954501376
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
PK_SHIP_VIA
<null> <null>
Primary false
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590 84802949
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
PK_STATUS
<null> <null>
Primary false
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 -567580883
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
PK_SUPPLIER
<null> <null>
Primary false
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 -1590144858
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PK_SUPPLIER_PARTS
<null> <null>
Primary false
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 -1122313299
Row Count : 8
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 Keys 255 255 0
false false false false 0 true
true false false
@@ -20,3 +20,4 @@
IsIndexed -7 PartsSupplier java.lang.Boolean IsIndexed boolean
SYS Keys 5 1 0
false false false false 0 true
true false false
RefKeyUID 12 PartsSupplier java.lang.String RefKeyUID string
SYS Keys 50 50 0
false false false false 1 true
true false false
UID 12 PartsSupplier java.lang.String UID string
SYS Keys 50 50 0
false false false false 0 true
true false false
+OID 4 PartsSupplier java.lang.Integer OID integer
SYS Keys 11 10 0
false false false false 0 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 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,13 +1,13 @@
-string string
string
string
string integer string
boolean integer integer integer integer string
string string
-VDBName SchemaName
ProcedureName
Name
DataType Position Type
Optional Precision TypeLength Scale Radix NullType
UID Description
-PartsSupplier SYS
getVDBResourcePaths
ResourcePath
string 1 ResultSet
false 50 50 0 10 Nullable
mmuuid:ebbffdab-ac7e-41ab-974f-62785b3086f9 <null>
-PartsSupplier SYS
getBinaryVDBResource
VdbResource
blob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:90d1f79d-bd98-46f4-ae8f-adacc329cf0b <null>
-PartsSupplier SYS
getCharacterVDBResource
VdbResource
clob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:111f9fa8-74c9-479a-a184-8db64a1eab3c <null>
-PartsSupplier SYS
getXMLSchemas
document
string 1 In
false 0 0 0 10 No Nulls
mmuuid:41f00dca-7bc1-4593-b2a7-a7d64936c2d4 <null>
-PartsSupplier SYS
getVDBResourcePaths
isBinary
boolean 2 ResultSet
false 1 1 0 10 Nullable
mmuuid:e8d087da-9833-4422-a255-f0e0fea2cb61 <null>
-PartsSupplier SYS
getBinaryVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:25e5065a-454e-4a87-bf71-b6f71b98319f <null>
-PartsSupplier SYS
getCharacterVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:c54e777f-3cd0-45ad-a18b-e4e93532984f <null>
-PartsSupplier SYS
getXMLSchemas
schema xml
1 ResultSet
false 0 0 0 10 Nullable
mmuuid:f0cb82f2-111e-4433-ae77-59a27fa93991 <null>
+string string
string
string
string integer string
boolean integer integer integer integer string
string string
integer
+VDBName SchemaName
ProcedureName
Name
DataType Position Type
Optional Precision TypeLength Scale Radix NullType
UID Description
OID
+PartsSupplier SYS
getVDBResourcePaths
ResourcePath
string 1 ResultSet
false 50 50 0 10 Nullable
mmuuid:ebbffdab-ac7e-41ab-974f-62785b3086f9 <null>
-971169035
+PartsSupplier SYS
getBinaryVDBResource
VdbResource
blob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:90d1f79d-bd98-46f4-ae8f-adacc329cf0b <null>
1280387853
+PartsSupplier SYS
getCharacterVDBResource
VdbResource
clob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:111f9fa8-74c9-479a-a184-8db64a1eab3c <null>
826997014
+PartsSupplier SYS
getXMLSchemas
document
string 1 In
false 0 0 0 10 No Nulls
mmuuid:41f00dca-7bc1-4593-b2a7-a7d64936c2d4 <null>
-1382868413
+PartsSupplier SYS
getVDBResourcePaths
isBinary
boolean 2 ResultSet
false 1 1 0 10 Nullable
mmuuid:e8d087da-9833-4422-a255-f0e0fea2cb61 <null>
-1250184215
+PartsSupplier SYS
getBinaryVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:25e5065a-454e-4a87-bf71-b6f71b98319f <null>
551829536
+PartsSupplier SYS
getCharacterVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:c54e777f-3cd0-45ad-a18b-e4e93532984f <null>
-565939980
+PartsSupplier SYS
getXMLSchemas
schema xml
1 ResultSet
false 0 0 0 10 Nullable
mmuuid:f0cb82f2-111e-4433-ae77-59a27fa93991 <null>
-6052816
Row Count : 8
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
@@ -25,3 +25,4 @@
NullType 12 PartsSupplier java.lang.String NullType string
SYS ProcedureParams 10 10 0
false false false false 0 true
true false false
UID 12 PartsSupplier java.lang.String UID string
SYS ProcedureParams 50 50 0
false true false true 1 false
true true true
Description 12 PartsSupplier java.lang.String Description string
SYS ProcedureParams 255 255 0
false true false true 1 false
true true true
+OID 4 PartsSupplier java.lang.Integer OID integer
SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,9 +1,9 @@
-string string
string
string
boolean string string
-VDBName SchemaName
Name
NameInSource
ReturnsResults UID Description
-PartsSupplier SYS
getBinaryVDBResource
<null>
true mmuuid:9bc0b701-b36e-4209-a986-9d38420d2c20 <null>
-PartsSupplier SYS
getCharacterVDBResource
<null>
true mmuuid:72464082-00fc-44f0-98b9-8c8f637c6570 <null>
-PartsSupplier SYS
getVDBResourcePaths
<null>
true mmuuid:1204d4b2-6f92-428d-bcc5-7b3a0da9a113 <null>
-PartsSupplier SYS
getXMLSchemas
<null>
true mmuuid:2d51a2a4-9966-4bd8-861d-9c0ae8e4b869 <null>
+string string
string
string
boolean string string
integer
+VDBName SchemaName
Name
NameInSource
ReturnsResults UID Description
OID
+PartsSupplier SYS
getBinaryVDBResource
<null>
true mmuuid:9bc0b701-b36e-4209-a986-9d38420d2c20 <null>
962621677
+PartsSupplier SYS
getCharacterVDBResource
<null>
true mmuuid:72464082-00fc-44f0-98b9-8c8f637c6570 <null>
-11263229
+PartsSupplier SYS
getVDBResourcePaths
<null>
true mmuuid:1204d4b2-6f92-428d-bcc5-7b3a0da9a113 <null>
-269626231
+PartsSupplier SYS
getXMLSchemas
<null>
true mmuuid:2d51a2a4-9966-4bd8-861d-9c0ae8e4b869 <null>
-1846147944
Row Count : 4
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
@@ -13,3 +13,4 @@
ReturnsResults -7 PartsSupplier java.lang.Boolean ReturnsResults
boolean SYS Procedures 5 1 0
false false false false 0 true
true false false
UID 12 PartsSupplier java.lang.String UID string
SYS Procedures 50 50 0
false false false false 0 true
true false false
Description 12 PartsSupplier java.lang.String Description string
SYS Procedures 255 255 0
false true false true 1 false
true true true
+OID 4 PartsSupplier java.lang.Integer OID
integer SYS Procedures 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,8 +1,9 @@
-string string
boolean string
string string
-VDBName Name
IsPhysical UID
Description
PrimaryMetamodelURI
-PartsSupplier PartsSupplier
true
mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 <null>
http://www.metamatrix.com/metamodels/Relational
-PartsSupplier SYS
true
mmuuid:49b9c0f9-2c4c-42d3-9409-2d847d29a1de System
http://www.metamatrix.com/metamodels/Relational
-Row Count : 2
+string string
boolean string
string string
integer
+VDBName Name
IsPhysical UID
Description
PrimaryMetamodelURI OID
+PartsSupplier PartsSupplier
true
mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 <null>
http://www.metamatrix.com/metamodels/Relational
152010958
+PartsSupplier SYS
true
mmuuid:49b9c0f9-2c4c-42d3-9409-2d847d29a1de System
http://www.metamatrix.com/metamodels/Relational
-2075981161
+PartsSupplier pg_catalog
true
mmuuid:8294601c-9fe9-4244-9499-4a012c5e1476 <null>
http://www.metamatrix.com/metamodels/Relational
-915078125
+Row Count : 3
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 Schemas 255 255 0
false true false true 1
false true true true
Name 12 PartsSupplier java.lang.String Name
string SYS Schemas 255 255 0
false true false true 1
false true true true
@@ -10,3 +11,4 @@
UID 12 PartsSupplier java.lang.String UID
string SYS Schemas 50 50 0
false false false false 0 true
true false false
Description 12 PartsSupplier java.lang.String Description
string SYS Schemas 255 255 0
false true false true 1
false true true true
PrimaryMetamodelURI 12 PartsSupplier java.lang.String
PrimaryMetamodelURI string SYS Schemas 255
255 0 false false false false
0 true true false false
+OID 4 PartsSupplier java.lang.Integer OID
integer SYS Schemas 11 10 0
false false false false 0 true
true false false
Modified:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected 2010-07-15
20:06:02 UTC (rev 2353)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected 2010-07-16
19:10:00 UTC (rev 2354)
@@ -1,22 +1,33 @@
-string string
string
string string
boolean boolean string
integer string
boolean boolean
-VDBName SchemaName
Name
Type NameInSource
IsPhysical SupportsUpdates UID
Cardinality Description
IsSystem IsMaterialized
-PartsSupplier SYS
Columns
Table <null>
true false
mmuuid:1c9a5cb2-17b1-4e4a-8b0e-3a42bd052509 0 <null>
true false
-PartsSupplier SYS
DataTypes
Table <null>
true false
mmuuid:9a8794f9-66f8-49e8-8576-89d212d0f957 0 <null>
true false
-PartsSupplier SYS
KeyColumns
Table <null>
true false
mmuuid:14946083-3bd5-42d5-8283-1c0694347c29 0 <null>
true false
-PartsSupplier SYS
Keys
Table <null>
true false
mmuuid:1e5135dc-ce5d-4b25-a8ff-63f5440b3108 0 <null>
true false
-PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
Table PARTS
true true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590
16 <null>
false false
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
Table SHIP_VIA
true true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590
4 <null>
false false
-PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
Table STATUS
true true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590
3 <null>
false false
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
Table SUPPLIER
true true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590
16 <null>
false false
-PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
Table SUPPLIER_PARTS
true true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590
227 <null>
false false
-PartsSupplier SYS
ProcedureParams
Table <null>
true false
mmuuid:a56bd7fe-c87a-411c-8f5d-661975a25626 0 <null>
true false
-PartsSupplier SYS
Procedures
Table <null>
true false
mmuuid:0bc132a5-9f8d-4a3c-9f5d-98156a98a962 0 <null>
true false
-PartsSupplier SYS
Properties
Table <null>
true false
mmuuid:7a45e50a-d03f-4548-ba35-761651bbca85 0 <null>
true false
-PartsSupplier SYS
ReferenceKeyColumns
Table <null>
true false
mmuuid:6a9653e8-a337-41b2-86fa-77b98f409a29 0 <null>
true false
-PartsSupplier SYS
Schemas
Table <null>
true false
mmuuid:8648a554-b2ad-4e8e-84ca-2ec618b311a9 0 <null>
true false
-PartsSupplier SYS
Tables
Table <null>
true false
mmuuid:8551b3bd-11cc-4049-9bcf-fe91a0eb7ba7 0 <null>
true false
-PartsSupplier SYS
VirtualDatabases
Table <null>
true false
mmuuid:47297c72-d621-4f4e-af4e-74060ac5f489 0 <null>
true false
-Row Count : 16
+string string
string
string string
boolean boolean string
integer string
boolean boolean integer
+VDBName SchemaName
Name
Type NameInSource
IsPhysical SupportsUpdates UID
Cardinality Description
IsSystem IsMaterialized OID
+PartsSupplier SYS
Columns
Table <null>
true false
mmuuid:1c9a5cb2-17b1-4e4a-8b0e-3a42bd052509 0 <null>
true false 1125375648
+PartsSupplier SYS
DataTypes
Table <null>
true false
mmuuid:9a8794f9-66f8-49e8-8576-89d212d0f957 0 <null>
true false 407729263
+PartsSupplier SYS
KeyColumns
Table <null>
true false
mmuuid:14946083-3bd5-42d5-8283-1c0694347c29 0 <null>
true false 1906549043
+PartsSupplier SYS
Keys
Table <null>
true false
mmuuid:1e5135dc-ce5d-4b25-a8ff-63f5440b3108 0 <null>
true false -1056482755
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
Table PARTS
true true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590
16 <null>
false false 1623654648
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
Table SHIP_VIA
true true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590
4 <null>
false false 1136825257
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
Table STATUS
true true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590
3 <null>
false false -1690137928
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
Table SUPPLIER
true true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590
16 <null>
false false 940336727
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
Table SUPPLIER_PARTS
true true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590
227 <null>
false false 2040149098
+PartsSupplier SYS
ProcedureParams
Table <null>
true false
mmuuid:a56bd7fe-c87a-411c-8f5d-661975a25626 0 <null>
true false 1809992480
+PartsSupplier SYS
Procedures
Table <null>
true false
mmuuid:0bc132a5-9f8d-4a3c-9f5d-98156a98a962 0 <null>
true false -364939653
+PartsSupplier SYS
Properties
Table <null>
true false
mmuuid:7a45e50a-d03f-4548-ba35-761651bbca85 0 <null>
true false -1169068629
+PartsSupplier SYS
ReferenceKeyColumns
Table <null>
true false
mmuuid:6a9653e8-a337-41b2-86fa-77b98f409a29 0 <null>
true false -2944282
+PartsSupplier SYS
Schemas
Table <null>
true false
mmuuid:8648a554-b2ad-4e8e-84ca-2ec618b311a9 0 <null>
true false -69424901
+PartsSupplier SYS
Tables
Table <null>
true false
mmuuid:8551b3bd-11cc-4049-9bcf-fe91a0eb7ba7 0 <null>
true false -820106652
+PartsSupplier SYS
VirtualDatabases
Table <null>
true false
mmuuid:47297c72-d621-4f4e-af4e-74060ac5f489 0 <null>
true false 767013857
+PartsSupplier pg_catalog
pg_am
Table <null>
false false
mmuuid:069bf3d5-79ab-4c78-9ede-b6802e5a0dea 0 <null>
true false -1477143417
+PartsSupplier pg_catalog
pg_attrdef
Table <null>
false false
mmuuid:a54429c7-cc41-4112-982b-df76ef3a507d 0 <null>
true false 1533609944
+PartsSupplier pg_catalog
pg_attribute
Table <null>
false false
mmuuid:7f89ff91-4ae6-40ff-926d-346c5a61f817 0 <null>
true false -224365397
+PartsSupplier pg_catalog
pg_class
Table <null>
false false
mmuuid:ad51e389-9443-4a7b-984a-5c1875fbd329 0 <null>
true false 332420260
+PartsSupplier pg_catalog
pg_database
Table <null>
false false
mmuuid:6ae73c29-0c6f-4ec3-9c09-a262d8e41ac2 0 <null>
true false 209142477
+PartsSupplier pg_catalog
pg_index
Table <null>
false false
mmuuid:a3e60b50-8282-4562-81a3-164e2e1481ad 0 <null>
true false -1762024459
+PartsSupplier pg_catalog
pg_namespace
Table <null>
false false
mmuuid:38438f3b-7664-4449-8f06-be69b2555a4c 0 <null>
true false 150756069
+PartsSupplier pg_catalog
pg_proc
Table <null>
false false
mmuuid:3cffb0db-f326-40e6-890f-9ef7a0980784 0 <null>
true false -710458066
+PartsSupplier pg_catalog
pg_trigger
Table <null>
false false
mmuuid:dbdacb28-7e78-4ae5-8a99-3e3e1c59f641 0 <null>
true false -77334293
+PartsSupplier pg_catalog
pg_type
Table <null>
false false
mmuuid:8024e6eb-ba32-41a0-a250-95a36eb4b71f 0 <null>
true false -136764222
+PartsSupplier pg_catalog
pg_user
Table <null>
false false
mmuuid:0da462b7-bacf-41da-9335-9a12224c462a 0 <null>
true false -164161188
+Row Count : 27
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
VDBName 12 PartsSupplier java.lang.String VDBName
string SYS Tables 255 255 0
false true false true 1 false
true true true
SchemaName 12 PartsSupplier java.lang.String SchemaName
string SYS Tables 255 255 0
false true false true 1 false
true true true
@@ -30,3 +41,4 @@
Description 12 PartsSupplier java.lang.String Description
string SYS Tables 255 255 0
false true false true 1 false
true true true
IsSystem -7 PartsSupplier java.lang.Boolean IsSystem
boolean SYS Tables 5 1 0
false true false true 1 false
true true true
IsMaterialized -7 PartsSupplier java.lang.Boolean IsMaterialized
boolean SYS Tables 5 1 0
false false false true 0 false
true false true
+OID 4 PartsSupplier java.lang.Integer OID
integer SYS Tables 11 10 0
false false false false 0 true
true false false